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.
This lets you use Python to interface with the AEPsych server to do model-based adaptive experimentation.
We recommend installing the client under a virtual environment like
Anaconda.
Once you've created a virtual environment for AEPsychClient
and activated it, you can install through pip:
pip install aepsych_client
If you are a developer, you should also install the main AEPsych package so that you can run the tests.
This interface uses AEPsych's ini-based config, which gets passed as a string to the server:
# Instantiate a client
client = AEPsychClient(ip="0.0.0.0", port=5555)
# Send a config message to the server, passing in a configuration filename
filename = 'configs/single_lse_2d.ini'
client.configure(config_path=filename)
To get the next configuration from the server, we call ask
; we report on the outcome with tell
.
# Send an ask message to the server
trial_params = client.ask()
# Send a tell back
client.tell(config={"par1": [0], "par2": [1]}, outcome=1)
We can run multiple interleaved experiments. When we call configure
, we get back a strategy ID.
The client keeps track of all these strategy IDs and we can use them to resume experiments. By
doing this we can interleave different model runs.
# Configure the server using one config
client.configure(config_path=file1, config_name='config1')
# Run some stuff on this config
...
# Configure the server using another config
client.configure(config_path=file2, config_name='config2')
# Run some stuff on this other config
...
# Resume the past config
client.resume(config_name="config1)
When you are done with your experiment, you should call client.finalize()
, which will stop the server and save your data to a database.
FAQs
Unknown package
We found that aepsych-client demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 2 open source maintainers 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.