Security News
Research
Data Theft Repackaged: A Case Study in Malicious Wrapper Packages on npm
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
modelon-impact-client
Advanced tools
Client library for easy scripting against Modelon Impact
For installation instructions and requirements, please refer to the documentation.
If you are developing with VS Code you can use the devcontainer which gives gives you a ready to use environment for development. Just click the "Reopen in Container" button after opening the project in VS Code.
It is possible to run the 'make' commands listed bellow using the devcontainer. It will detect being in a container and bypass Docker parts of the commands.
You can open a project with the dev-container directly without having to open and then re-load. Standing in the project directory you can run:
devcontainer open .
Note that this requires the devcontainer-cli.
You can add your own extensions to devcontainers. These extensions will be added for all devcontainers. First open your 'settings' as JSON. Then, to add for example the "GitLens" extension, put the following at the bottom of the settings:
...
"remote.containers.defaultExtensions": ["eamodio.gitlens"]
}
VS Code also have a 'Install Local Extensions in 'Remote'
command, but it must be repeated for each devcontainer and everytime a devcontainer is re-built.
Modelon-impact-client is developed using a Docker container for all build tools. You can get a shell into said container by running:
make shell
Dependencies are managed by poetry. Add dependencies by running
poetry add <package>
or poetry add <package> --dev
inside the shell
Tests are executed by running make test
. You can also run make test-watch
to get a watcher
that continuously re-runs the tests.
make lint
Building modelon-impact-client is done by running
make wheel
The tests for modelon-impact-client could be run by executing
make test
Vcrpy(https://vcrpy.readthedocs.io/en/latest/) is used to mock the http requests and
responses for some of the tests. VCR.py records all HTTP interactions that take place
in a flat file called a 'cassette'. These files could are stored in the impact-client-python/tests/fixtures/vcr_cassettes
folder. When an API response/request body is updated on MI, these files need to be regenerated. To regenerate these file, follow the following steps:
impact-client-python/tests/fixtures/vcr_cassettes
folder.make regenerate-cassette
The modelon-impact-client build process is a fully automated using Semantic-release
.
Automation is enabled for:
This is done based on git commit semantics as described here: https://semantic-release.gitbook.io/semantic-release/
To make a new release simply run:
make publish
This command will detect what branch you are on and your git history and make a appropriate release.
Current configuration can be found in .releaserc
and specifies that commits to branch master
should be released and
commits to branch beta
should be released as a pre-release
.
This workflow make sure that no administrative time needs to be put into managing the release workflow.
FAQs
Client library for easy scripting against Modelon Impact
We found that modelon-impact-client demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Research
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
Research
Security News
Attackers used a malicious npm package typosquatting a popular ESLint plugin to steal sensitive data, execute commands, and exploit developer systems.
Security News
The Ultralytics' PyPI Package was compromised four times in one weekend through GitHub Actions cache poisoning and failure to rotate previously compromised API tokens.