https://github.com/agnostiqhq/covalent-ssh-plugin
Executor plugin interfacing Covalent with remote backends using SSH
Science Score: 39.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 2 DOI reference(s) in README -
○Academic publication links
-
○Committers with academic emails
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (13.7%) to scientific vocabulary
Keywords
Keywords from Contributors
Repository
Executor plugin interfacing Covalent with remote backends using SSH
Basic Info
- Host: GitHub
- Owner: AgnostiqHQ
- License: apache-2.0
- Language: Python
- Default Branch: develop
- Homepage: https://covalent.xyz
- Size: 325 KB
Statistics
- Stars: 9
- Watchers: 11
- Forks: 5
- Open Issues: 8
- Releases: 27
Topics
Metadata Files
README.md
[](https://github.com/AgnostiqHQ/covalent)
[](https://github.com/AgnostiqHQ/covalent-ssh-plugin)
[](https://github.com/AgnostiqHQ/covalent-ssh-plugin/actions/workflows/tests.yml)
[](https://codecov.io/gh/AgnostiqHQ/covalent-ssh-plugin)
[](https://www.apache.org/licenses/LICENSE-2.0)
Covalent SSH Plugin
Covalent is a Pythonic workflow tool used to execute tasks on advanced computing hardware. This executor plugin interfaces Covalent with other machines accessible to the user over SSH. It is appropriate to use this plugin to distribute tasks to one or more compute backends which are not controlled by a cluster management system, such as computers on a LAN, or even a collection of small-form-factor Linux-based devices such as Raspberry Pis, NVIDIA Jetsons, or Xeon Phi co-processors.
To use this plugin with Covalent, simply install it using pip:
shell
pip install covalent-ssh-plugin
The following shows an example of how a user might modify their Covalent configuration to support this plugin:
shell
[executors.ssh]
username = "user"
hostname = "host.hostname.org"
remote_cache_dir = "/home/user/.cache/covalent"
ssh_key_file = "/home/user/.ssh/id_rsa"
python_path = "python"
conda_env = ""
This setup assumes the user has the ability to connect to the remote machine using ssh -i /home/user/.ssh/id_rsa user@host.hostname.org and has write-permissions on the remote directory /home/user/.cache/covalent (if it exists) or the closest parent directory (if it does not).
If you are using a named conda environment you can use the conda_env parameter to set the name of your conda environment. However if you wish use a specify a particular python binary you can configure the python_path parameter to the absolute path where python is located on the remote machine.
Within a workflow, users can decorate electrons using the default settings:
```python import covalent as ct
@ct.electron(executor="ssh") def my_task(): import socket return socket.gethostname() ```
or use a class object to customize behavior within particular tasks:
```python executor = ct.executor.SSHExecutor( username="user", hostname="host2.hostname.org", remotecachedir="/tmp/covalent", sshkeyfile="/home/user/.ssh/host2/id_rsa" )
@ct.electron(executor=executor) def mycustomtask(x, y): return x + y ```
For more information on how to get started with Covalent, check out the project homepage and the official documentation.
Release Notes
Release notes are available in the Changelog.
Citation
Please use the following citation in any publications:
W. J. Cunningham, S. K. Radha, F. Hasan, J. Kanem, S. W. Neagle, and S. Sanand. Covalent. Zenodo, 2022. https://doi.org/10.5281/zenodo.5903364
License
Covalent is licensed under the Apache License 2.0. See the LICENSE file or contact the support team for more details.
Owner
- Name: Agnostiq
- Login: AgnostiqHQ
- Kind: organization
- Email: contact@agnostiq.ai
- Location: Toronto
- Website: https://agnostiq.ai
- Twitter: AgnostiqHQ
- Repositories: 37
- Profile: https://github.com/AgnostiqHQ
Developing Software for Advanced Computing
GitHub Events
Total
- Push event: 7
- Fork event: 2
Last Year
- Push event: 7
- Fork event: 2
Committers
Last synced: 10 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| CovalentOpsBot | c****t | 27 |
| Alejandro Esquivel | ae@a****d | 13 |
| Will Cunningham | w****7 | 9 |
| Venkat Bala | 1****a | 5 |
| Sankalp Sanand | s****p@a****i | 4 |
| Faiyaz Hasan | f****1@g****m | 3 |
| jkanem | j****i@a****i | 3 |
| pre-commit-ci[bot] | 6****] | 1 |
| Scott Wyman Neagle | w****a@p****m | 1 |
| Madhur Tandon | 2****n | 1 |
| Casey Jao | c****y@a****i | 1 |
| Ara Ghukasyan | 3****s | 1 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 18
- Total pull requests: 55
- Average time to close issues: about 1 month
- Average time to close pull requests: 5 days
- Total issue authors: 9
- Total pull request authors: 13
- Average comments per issue: 0.78
- Average comments per pull request: 1.16
- Merged pull requests: 42
- Bot issues: 0
- Bot pull requests: 6
Past Year
- Issues: 0
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- AlejandroEsquivel (5)
- venkatBala (3)
- cjao (2)
- arosen93 (2)
- poojithurao (1)
- araghukas (1)
- kessler-frost (1)
- Andrew-S-Rosen (1)
- jkanem (1)
Pull Request Authors
- AlejandroEsquivel (14)
- kessler-frost (6)
- wjcunningham7 (6)
- cjao (5)
- dependabot[bot] (5)
- jkanem (5)
- venkatBala (5)
- pre-commit-ci[bot] (3)
- Emmanuel289 (3)
- araghukas (2)
- FyzHsn (2)
- madhur-tandon (1)
- scottwn (1)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
-
Total downloads:
- pypi 2,110 last-month
- Total dependent packages: 0
- Total dependent repositories: 1
- Total versions: 33
- Total maintainers: 1
pypi.org: covalent-ssh-plugin
Covalent SSH Plugin
- Homepage: https://github.com/AgnostiqHQ/covalent-ssh-plugin
- Documentation: https://covalent-ssh-plugin.readthedocs.io/
- License: Apache License 2.0
-
Latest release: 0.24.1
published about 2 years ago
Rankings
Maintainers (1)
Dependencies
- asyncssh >=2.10.1
- flake8 ==3.9.2 test
- isort ==5.7.0 test
- mock ==4.0.3 test
- nbconvert ==6.3.0 test
- pre-commit ==2.13.0 test
- pytest ==6.2.5 test
- pytest-asyncio ==0.19.0 test
- pytest-cov ==2.12.0 test
- pytest-mock ==3.6.1 test
- EndBug/add-and-commit v9 composite
- actions/checkout v3 composite
- actions/checkout master composite
- peterjgrainger/action-changelog-reminder v1.3.0 composite
- actions/checkout v3 composite
- pilosus/action-pip-license-checker main composite
- actions/checkout v2 composite
- actions/setup-python v2 composite
- ncipollo/release-action v1 composite
- actions-ecosystem/action-get-latest-tag v1 composite
- actions/checkout v2 composite
- actions/setup-python v2 composite
- codecov/codecov-action v3 composite
- actions/checkout v1 composite
- tj-actions/changed-files v18.4 composite
- numpy ==1.23.2 test
- python-dotenv ==0.21.0 test
- scikit-learn ==1.1.2 test