activate-aiida
This is a small package to build around the internal aiida-core tools (v1.2), to quickly create and launch isolated AiiDA environments from scratch. Its focussed on development, but can also be used more generally.
The basic steps are:
- Buy a new computer
- Install Conda
- On linux:
wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh -O miniconda.shbash miniconda.shconda update conda
- On linux:
- Create the development environment:
conda env create -n aiida-dev -f aiida-dev-env.ymlconda activate aiida-dev- This is a copy of
environment.yamlin aiida-core, but with all the extra development packages, and other goodies like jupyter lab
- Install aiida-core in development mode
pip install --no-deps -e .
- Run
source aiida-activate --helpto see the options- This needs to be called with
source, so that it can set-up some environmental variables - Running
source aiida-activate setup.yaml -c -w 4will:- Initialise a database at
store_path/pgsql, if it doesn't already exist - Kill any currently running postgres server
- Start up a postgres server with the desired settings
- Ensure RabbitMQ is running
- Set the aiida repository path to
store_path/.aiida - Run
verdi quicksetup --config=setup.yaml, if the profile does not already exist - Set the profile as the default profile
- Stop any current daemon and start one with 4 workers
- Activate verdi tab completion
- Initialise a database at
- This needs to be called with
- When your done,
aiida-deactivatewill stop the daemon and the postgres server
Example Config File
store_path: /home/csewell/Documents/aiida-core/test_repo
su_db_username: chrisjsewell
# su_db_password: # not yet supported
db_engine: postgresql_psycopg2
db_backend: django
db_host: localhost
db_port: 5432
db_name: basic_db
db_username: chrisjsewell
db_password: niceday
profile: basic
email: christopher.sewell@epfl.ch
first_name: Chris
last_name: Sewell
institution: EPFL
non_interactive: true
Example CLI
$ source aiida-activate setup.yaml -c -w 4
parsed args: -c true -w 4 setup.yaml
- Reading variables from setup.yaml
- Setting Up SQL Database
PGDATA='/home/csewell/Documents/aiida-core/test_repo/pgsql'
- Activating Postgres server: /home/csewell/Documents/aiida-core/test_repo/pgsql on port 5432
waiting for server to start.... done
server started
Logging Postgres server to: /home/csewell/Documents/aiida-core/test_repo/pgsql/postgres_env_.log
- Ensure RabbitMQ Running
- Setting Up AiiDa Database
AIIDA_PATH='/home/csewell/Documents/aiida-core/test_repo'
Info: Database user "chrisjsewell" already exists!
Use it? [y/N]: y
Success: created new profile `basic`.
Info: migrating the database.
Operations to perform:
Apply all migrations: auth, contenttypes, db
Running migrations:
Applying contenttypes.0001_initial... OK
Applying contenttypes.0002_remove_content_type_name... OK
Applying auth.0001_initial... OK
Applying auth.0002_alter_permission_name_max_length... OK
Applying auth.0003_alter_user_email_max_length... OK
Applying auth.0004_alter_user_username_opts... OK
Applying auth.0005_alter_user_last_login_null... OK
Applying auth.0006_require_contenttypes_0002... OK
Applying auth.0007_alter_validators_add_error_messages... OK
Applying auth.0008_alter_user_username_max_length... OK
Applying auth.0009_alter_user_last_name_max_length... OK
Applying auth.0010_alter_group_name_max_length... OK
Applying auth.0011_update_proxy_permissions... OK
Applying db.0001_initial... OK
Applying db.0002_db_state_change... OK
Applying db.0003_add_link_type... OK
Applying db.0004_add_daemon_and_uuid_indices... OK
Applying db.0005_add_cmtime_indices... OK
Applying db.0006_delete_dbpath... OK
Applying db.0007_update_linktypes... OK
Applying db.0008_code_hidden_to_extra... OK
Applying db.0009_base_data_plugin_type_string... OK
Applying db.0010_process_type... OK
Applying db.0011_delete_kombu_tables... OK
Applying db.0012_drop_dblock... OK
Applying db.0013_django_1_8... OK
Applying db.0014_add_node_uuid_unique_constraint... OK
Applying db.0015_invalidating_node_hash... OK
Applying db.0016_code_sub_class_of_data... OK
Applying db.0017_drop_dbcalcstate... OK
Applying db.0018_django_1_11... OK
Applying db.0019_migrate_builtin_calculations... OK
Applying db.0020_provenance_redesign... OK
Applying db.0021_dbgroup_name_to_label_type_to_type_string... OK
Applying db.0022_dbgroup_type_string_change_content... OK
Applying db.0023_calc_job_option_attribute_keys... OK
Applying db.0024_dblog_update... OK
Applying db.0025_move_data_within_node_module... OK
Applying db.0026_trajectory_symbols_to_attribute... OK
Applying db.0027_delete_trajectory_symbols_array... OK
Applying db.0028_remove_node_prefix... OK
Applying db.0029_rename_parameter_data_to_dict... OK
Applying db.0030_dbnode_type_to_dbnode_node_type... OK
Applying db.0031_remove_dbcomputer_enabled... OK
Applying db.0032_remove_legacy_workflows... OK
Applying db.0033_replace_text_field_with_json_field... OK
Applying db.0034_drop_node_columns_nodeversion_public... OK
Applying db.0035_simplify_user_model... OK
Applying db.0036_drop_computer_transport_params... OK
Applying db.0037_attributes_extras_settings_json... OK
Applying db.0038_data_migration_legacy_job_calculations... OK
Applying db.0039_reset_hash... OK
Applying db.0040_data_migration_legacy_process_attributes... OK
Applying db.0041_seal_unsealed_processes... OK
Applying db.0042_prepare_schema_reset... OK
Applying db.0043_default_link_label... OK
Applying db.0044_dbgroup_type_string... OK
Success: database migration completed.
- Starting AiiDA
Rescanning aiida plugins
Setting default profile: basic
Success: basic set as default profile
Stopping any current daemon
Profile: basic
Daemon was not running
Activating daemon for profile: basic with 4 workers
Activating verdi tab completion
- Finishing Status:
✓ config dir: /home/csewell/Documents/aiida-core/test_repo/.aiida
✓ profile: On profile basic
✓ repository: /home/csewell/Documents/aiida-core/test_repo/.aiida/repository/basic
✓ postgres: Connected as chrisjsewell@localhost:5432
✓ rabbitmq: Connected to amqp://127.0.0.1?heartbeat=600
✓ daemon: Daemon is running as PID 22227 since 2020-04-10 00:55:10
$ deactivate-aiida
Stopping Daemon:
Profile: basic
Waiting for the daemon to shut down... OK
Stopping Postgres:
waiting for server to shut down.... done
server stopped
Done!
Troubleshooting
If postgres is not stopped correctly you may get this error:
psql: could not connect to server: No such file or directory
In this case you may have to manually delete the
path/to/database/postmaster.pid file (see here)
If a port has been left open (from here):
>> sudo lsof -i :PORTNUM
>> sudo kill -9 PID
Metadata
Release files for activate-aiida 0.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| activate-aiida-0.3.0.tar.gz | 8.5 kB | Without provenance | Details for activate-aiida-0.3.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| activate_aiida-0.3.0-py3-none-any.whl | Python 3 | none | any | Details for activate_aiida-0.3.0-py3-none-any.whl |
Total release size: 18.1 kB
Release files / activate-aiida-0.3.0.tar.gz
| Download URL | activate-aiida-0.3.0.tar.gz |
|---|---|
| Size | 8.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ee79c682306188e5e8cd7cc01aada7f89de2191c92e3e089424a90510c1eebec
|
|
BLAKE2b-256 checksum How to use checksums |
9e5f54ed0ae871fbab2285c3fc50aee02d199181468ddadbd2fb5b924c8a6499
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/2.0.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3.post20200330 requests-toolbelt/0.9.1 tqdm/4.44.1 CPython/3.7.6
|
Release files / activate_aiida-0.3.0-py3-none-any.whl
| Download URL | activate_aiida-0.3.0-py3-none-any.whl |
|---|---|
| Size | 9.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
899723ea0d7e4794a686a21c5d7daa20795850af54aaa18f0c422f56385ec6bc
|
|
BLAKE2b-256 checksum How to use checksums |
f97de8b45e6538fe0e0f14cd63ced44595bae14c7ca68b5e3d1c72c0f5843546
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/2.0.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3.post20200330 requests-toolbelt/0.9.1 tqdm/4.44.1 CPython/3.7.6
|
Security for activate-aiida 0.3.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.