Name | aiida-project JSON |
Version |
0.5.1
JSON |
| download |
home_page | None |
Summary | An AiiDA environment manager |
upload_time | 2023-08-29 09:00:24 |
maintainer | None |
docs_url | None |
author | None |
requires_python | >=3.8 |
license | None |
keywords |
aiida
workflows
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# AiiDA-Project
Tool for managing AiiDA "projects" - Python environments tailored to AiiDA with separated project directories.
| βοΈ This package is still in the early stages of development and we will most likely break the API regularly in new 0.X versions. Be sure to pin the version when installing this package in scripts.|
|---|
## Installation
The package can be installed globally with `pipx`:
```console
pipx install aiida-project
```
```console
installed package aiida-project 0.4.0, installed using Python 3.9.16
These apps are now globally available
- aiida-project
done! β¨ π β¨
```
See the [`pipx` installation instructions](https://pypa.github.io/pipx/installation/) if you haven't already installed `pipx`.
## Usage
After installing `aiida-project`, run the `init` command to get started:
```console
aiida-project init
```
```console
π Hello there! Which shell are you using? [bash/zsh/fish] (zsh):
β¨π AiiDA-project has been initialised! πβ¨
Info: For the changes to take effect, run the following command:
source /Users/mbercx/.zshrc
or simply open a new terminal.
```
This will also add the `cda` function to your shell startup file, so you can easily switch projects.
Note that you'll have to source your e.g. `.zshrc` file for this function to be accessible!
### `create`
After initialising, you can create new projects with their own virtual environment and project directory using the `create` command.
The latest version of `aiida-core` will also be installed automatically, along with any plugins you specify with the `--plugin` option:
```console
aiida-project create firstproject --plugin aiida-quantumespresso
```
```console
β¨ Creating the project directory and environment using the Python binary:
/opt/homebrew/Cellar/python@3.11/3.11.3/Frameworks/Python.framework/Versions/3.11/bin/python3.11
π§ Adding the AiiDA environment variables to the activate script.
β
Success: Project created.
πΎ Installing the latest release of the AiiDA core module.
πΎ Installing `aiida-quantumespresso` from the PyPI.
```
You can then activate the project using the `cda` command described above:
```console
cda firstproject
```
Next to activating the Python virtual environment, this will also change the directory to the one for the project.
`aiida-project` automatically sets up a directory structure, which we intend to be made configurable globally:
```console
(firstproject) ~/project/firstproject$ tree -a
.
βββ .aiida
β βββ access
β βββ config.json
β βββ daemon
β βββ log
βββ code
βββ setup
βββ code
βββ computer
βββ profile
9 directories, 1 file
```
**Note:** You may not have the [`tree`](https://en.wikipedia.org/wiki/Tree_(command)) command installed on your system.
### `destroy`
Projects can be cleaned up by using `aiida-project destroy`.
First `deactivate` the environment:
```console
deactivate firstproject
```
Next you can run the `destroy` command:
```console
aiida-project destroy firstproject
```
```console
βοΈ Are you sure you want to delete the entire firstproject project? This cannot be undone! [y/N]: y
Succes: Project with name firstproject has been destroyed.
```
This will remove both the virtual environment, as well as the whole project folder:
```console
~/project$ tree -a
.
βββ .aiida_projects
βββ conda
βββ virtualenv
3 directories, 0 files
```
## Other features
### `virtualenvwrapper` integration
If you are already using `virtualenvwrapper`, the virtual environments will be installed in the same directory as the one used by `virtualenvwrapper` (i.e. `$WORKON_HOME`).
So you can then also use the
```console
aiida@prnmarvelsrv3:~$ workon firstproject
```
### Environment configuration
Automatically sets some typical AiiDA UNIX environment variables, like AIIDA_PATH and the shell completion (`bash`/`zsh` for now, `fish` support coming soon!):
```console
$ echo $AIIDA_PATH
/Users/mbercx/project/firstproject
```
## Future goals
* For now it just installs AiiDA and plugins, but in the future we want it to be able to also automatically set up the AiiDA database, repository and default profile.
```console
(firstproject) aiida@prnmarvelsrv3:~/project/firstproject$ verdi status
β version: AiiDA v2.3.0
β config: /home/aiida/project/firstproject/.aiida
βΊ profile: no profile configured yet
Report: Configure a profile by running `verdi quicksetup` or `verdi setup`.
```
* Projects are pydantic data models, and are stored as JSON in the .aiida_projects directory. Over time it should be possible to completely regenerate a project based on this file, but thatβs still a work in progress:
```console
(firstproject) aiida@prnmarvelsrv3:~/project/firstproject$ cd ..
(firstproject) aiida@prnmarvelsrv3:~/project$ tree -a .aiida_projects/
.aiida_projects/
βββ conda
βββ virtualenv
βββ firstproject.json
2 directories, 1 file
```
Raw data
{
"_id": null,
"home_page": null,
"name": "aiida-project",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "aiida,workflows",
"author": null,
"author_email": "The AiiDA team <developers@aiida.net>",
"download_url": "https://files.pythonhosted.org/packages/58/43/84c079bba560a289d23100b14764b07fcae3cdd2afec64c755efed0baaca/aiida_project-0.5.1.tar.gz",
"platform": null,
"description": "# AiiDA-Project\n\nTool for managing AiiDA \"projects\" - Python environments tailored to AiiDA with separated project directories.\n\n| \u2757\ufe0f This package is still in the early stages of development and we will most likely break the API regularly in new 0.X versions. Be sure to pin the version when installing this package in scripts.|\n|---|\n\n\n## Installation\n\nThe package can be installed globally with `pipx`:\n\n```console\npipx install aiida-project\n```\n```console\n installed package aiida-project 0.4.0, installed using Python 3.9.16\n These apps are now globally available\n - aiida-project\ndone! \u2728 \ud83c\udf1f \u2728\n```\n\nSee the [`pipx` installation instructions](https://pypa.github.io/pipx/installation/) if you haven't already installed `pipx`.\n\n## Usage\n\nAfter installing `aiida-project`, run the `init` command to get started:\n\n```console\naiida-project init\n```\n```console\n\ud83d\udc4b Hello there! Which shell are you using? [bash/zsh/fish] (zsh):\n\n\u2728\ud83d\ude80 AiiDA-project has been initialised! \ud83d\ude80\u2728\n\nInfo: For the changes to take effect, run the following command:\n\n source /Users/mbercx/.zshrc\n\nor simply open a new terminal.\n```\n\nThis will also add the `cda` function to your shell startup file, so you can easily switch projects.\nNote that you'll have to source your e.g. `.zshrc` file for this function to be accessible!\n\n### `create`\n\nAfter initialising, you can create new projects with their own virtual environment and project directory using the `create` command.\nThe latest version of `aiida-core` will also be installed automatically, along with any plugins you specify with the `--plugin` option:\n\n```console\naiida-project create firstproject --plugin aiida-quantumespresso\n```\n```console\n\u2728 Creating the project directory and environment using the Python binary:\n /opt/homebrew/Cellar/python@3.11/3.11.3/Frameworks/Python.framework/Versions/3.11/bin/python3.11\n\ud83d\udd27 Adding the AiiDA environment variables to the activate script.\n\u2705 Success: Project created.\n\ud83d\udcbe Installing the latest release of the AiiDA core module.\n\ud83d\udcbe Installing `aiida-quantumespresso` from the PyPI.\n```\n\nYou can then activate the project using the `cda` command described above:\n\n```console\ncda firstproject\n```\n\nNext to activating the Python virtual environment, this will also change the directory to the one for the project.\n`aiida-project` automatically sets up a directory structure, which we intend to be made configurable globally:\n\n```console\n(firstproject) ~/project/firstproject$ tree -a\n.\n\u251c\u2500\u2500 .aiida\n\u2502 \u251c\u2500\u2500 access\n\u2502 \u251c\u2500\u2500 config.json\n\u2502 \u2514\u2500\u2500 daemon\n\u2502 \u2514\u2500\u2500 log\n\u251c\u2500\u2500 code\n\u2514\u2500\u2500 setup\n \u251c\u2500\u2500 code\n \u251c\u2500\u2500 computer\n \u2514\u2500\u2500 profile\n\n9 directories, 1 file\n```\n\n**Note:** You may not have the [`tree`](https://en.wikipedia.org/wiki/Tree_(command)) command installed on your system.\n\n### `destroy`\n\nProjects can be cleaned up by using `aiida-project destroy`.\nFirst `deactivate` the environment:\n\n```console\ndeactivate firstproject\n```\n\nNext you can run the `destroy` command:\n\n```console\naiida-project destroy firstproject\n```\n```console\n\u2757\ufe0f Are you sure you want to delete the entire firstproject project? This cannot be undone! [y/N]: y\nSucces: Project with name firstproject has been destroyed.\n```\n\nThis will remove both the virtual environment, as well as the whole project folder:\n\n```console\n~/project$ tree -a\n.\n\u2514\u2500\u2500 .aiida_projects\n \u251c\u2500\u2500 conda\n \u2514\u2500\u2500 virtualenv\n\n3 directories, 0 files\n```\n\n## Other features\n\n### `virtualenvwrapper` integration\n\nIf you are already using `virtualenvwrapper`, the virtual environments will be installed in the same directory as the one used by `virtualenvwrapper` (i.e. `$WORKON_HOME`).\nSo you can then also use the\n\n```console\naiida@prnmarvelsrv3:~$ workon firstproject\n```\n\n### Environment configuration\n\nAutomatically sets some typical AiiDA UNIX environment variables, like AIIDA_PATH and the shell completion (`bash`/`zsh` for now, `fish` support coming soon!):\n\n```console\n$ echo $AIIDA_PATH\n/Users/mbercx/project/firstproject\n```\n\n## Future goals\n\n* For now it just installs AiiDA and plugins, but in the future we want it to be able to also automatically set up the AiiDA database, repository and default profile.\n\n```console\n(firstproject) aiida@prnmarvelsrv3:~/project/firstproject$ verdi status\n \u2714 version: AiiDA v2.3.0\n \u2714 config: /home/aiida/project/firstproject/.aiida\n \u23fa profile: no profile configured yet\nReport: Configure a profile by running `verdi quicksetup` or `verdi setup`.\n```\n\n* Projects are pydantic data models, and are stored as JSON in the .aiida_projects directory. Over time it should be possible to completely regenerate a project based on this file, but that\u2019s still a work in progress:\n\n```console\n(firstproject) aiida@prnmarvelsrv3:~/project/firstproject$ cd ..\n(firstproject) aiida@prnmarvelsrv3:~/project$ tree -a .aiida_projects/\n.aiida_projects/\n\u251c\u2500\u2500 conda\n\u2514\u2500\u2500 virtualenv\n \u2514\u2500\u2500 firstproject.json\n\n2 directories, 1 file\n```\n",
"bugtrack_url": null,
"license": null,
"summary": "An AiiDA environment manager",
"version": "0.5.1",
"project_urls": {
"Source": "https://github.com/aiidateam/aiida-project"
},
"split_keywords": [
"aiida",
"workflows"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "3a54e68d50c66c1804421f3c541de633ad5d1c057435fea3391a1101fecd90df",
"md5": "86093216fd9d88a0c5c85e8ba4466b10",
"sha256": "6ee56b9e9cc2c9ff6d65158652f5a2dacced485fe12282ae8e00d634a9785bc1"
},
"downloads": -1,
"filename": "aiida_project-0.5.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "86093216fd9d88a0c5c85e8ba4466b10",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 11816,
"upload_time": "2023-08-29T09:00:22",
"upload_time_iso_8601": "2023-08-29T09:00:22.855085Z",
"url": "https://files.pythonhosted.org/packages/3a/54/e68d50c66c1804421f3c541de633ad5d1c057435fea3391a1101fecd90df/aiida_project-0.5.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "584384c079bba560a289d23100b14764b07fcae3cdd2afec64c755efed0baaca",
"md5": "f649f6443a07afd10abf9eb56f8b83b1",
"sha256": "47d7399422c5d05e30717e1549b288405cf6bdbc19cd5d4179cf682a373f462f"
},
"downloads": -1,
"filename": "aiida_project-0.5.1.tar.gz",
"has_sig": false,
"md5_digest": "f649f6443a07afd10abf9eb56f8b83b1",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 14933,
"upload_time": "2023-08-29T09:00:24",
"upload_time_iso_8601": "2023-08-29T09:00:24.396183Z",
"url": "https://files.pythonhosted.org/packages/58/43/84c079bba560a289d23100b14764b07fcae3cdd2afec64c755efed0baaca/aiida_project-0.5.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-08-29 09:00:24",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "aiidateam",
"github_project": "aiida-project",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "aiida-project"
}