{"id":42032367,"url":"https://github.com/judftteam/aiida-jutools","last_synced_at":"2026-01-26T04:37:25.586Z","repository":{"id":41874894,"uuid":"232596495","full_name":"JuDFTteam/aiida-jutools","owner":"JuDFTteam","description":"Tools for simplifying daily work with the AiiDA workflow engine","archived":false,"fork":false,"pushed_at":"2024-07-17T14:40:31.000Z","size":38067,"stargazers_count":6,"open_issues_count":9,"forks_count":4,"subscribers_count":4,"default_branch":"develop","last_synced_at":"2025-09-27T13:31:50.701Z","etag":null,"topics":["aiida","computational-materials-science","computational-science","data-science","density-functional-theory","dft","forschungszentrum-juelich","high-throughput","judft","materials-informatics","materials-science","pandas","provenance","toolkit","utility","workflow"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/JuDFTteam.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2020-01-08T15:38:01.000Z","updated_at":"2024-07-17T14:40:34.000Z","dependencies_parsed_at":"2023-12-01T00:21:55.214Z","dependency_job_id":"73ecbcab-1e3d-47ad-94f0-68ec0bc5db5f","html_url":"https://github.com/JuDFTteam/aiida-jutools","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/JuDFTteam/aiida-jutools","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JuDFTteam%2Faiida-jutools","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JuDFTteam%2Faiida-jutools/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JuDFTteam%2Faiida-jutools/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JuDFTteam%2Faiida-jutools/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JuDFTteam","download_url":"https://codeload.github.com/JuDFTteam/aiida-jutools/tar.gz/refs/heads/develop","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JuDFTteam%2Faiida-jutools/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28766887,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-26T03:54:34.369Z","status":"ssl_error","status_checked_at":"2026-01-26T03:54:33.031Z","response_time":59,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aiida","computational-materials-science","computational-science","data-science","density-functional-theory","dft","forschungszentrum-juelich","high-throughput","judft","materials-informatics","materials-science","pandas","provenance","toolkit","utility","workflow"],"created_at":"2026-01-26T04:37:25.082Z","updated_at":"2026-01-26T04:37:25.580Z","avatar_url":"https://github.com/JuDFTteam.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Documentation Status](https://readthedocs.org/projects/aiida-jutools/badge/?version=latest)](https://aiida-jutools.readthedocs.io/en/latest/?badge=latest)\n[![Build Status](https://travis-ci.org/JuDFTteam/aiida-jutools.svg?branch=master)](https://travis-ci.org/JuDFTteam/aiida-jutools)\n[![codecov](https://codecov.io/gh/JuDFTteam/aiida-jutools/branch/master/graph/badge.svg)](https://codecov.io/gh/JuDFTteam/aiida-jutools)\n[![MIT license](http://img.shields.io/badge/license-MIT-brightgreen.svg)](http://opensource.org/licenses/MIT)\n[![GitHub version](https://badge.fury.io/gh/JuDFTteam%2Faiida-jutools.svg)](https://badge.fury.io/gh/JuDFTteam%2Faiida-jutools)\n[![PyPI version](https://badge.fury.io/py/aiida-jutools.svg)](https://badge.fury.io/py/aiida-jutools)\n[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.10429636.svg)](https://doi.org/10.5281/zenodo.10429636)\n\n# aiida-jutools\n\nThis package offers\n\n1. **For users:** Tools for simplifying daily work with the [AiiDA](https://aiida.net) workflow engine, especically with respect to data management and high-throughput computing.\n2. **For developers**: Common utilities for AiiDA plugins, such as the [JuDFTteam AiiDA plugins](https://github.com/JuDFTteam). These utitlities in turn make use of the common underlying Python layer [masci-tools](https://github.com/JuDFTteam/masci-tools).\n\u003c!-- 3. Science tools: --\u003e\n\u003c!--   - `jutools.structure.structure_analyzer.analyze_symmetry` --\u003e\n\nJust import with ``import aiida_jutools as jutools``. Then you can call all tools like so: ``jutools.subpackage.tool\n()``. All tools have comprehensive docstrings.\n\n## Installation\n\n```bash\ngit clone git@github.com:JuDFTteam/aiida-jutools.git\ncd aiida-jutools\n# user install\npip install .\n# developer install\npip install -e .\n```\n\n## Documentation\n\nUnder construction. However, all classes and methods have comprehensive docstrings.\n\n### For developers\n\nYou have made some AiiDA code that may be useful to others? Consider adding it to jutools! Make a pull request, or\nask @Irratzo to be added as developer.\n\nPlease adhere to the developer coding conventions:\n- Place larger classes in a subpackage (subfolder) in a separate module (file). Smaller stuff like functions go in the\n  respective subpackage's ``subpackage/util.py``.\n- Make all tools available at subpackage level via import in ``subpackage/__init__.py``. See existing files for how\n  to do that. Also import each new subpackage in the package's top-level ``__init__.py``. Together, this enables to\n  access all tools with tab completion like ``jutools.subpackage.tool()`` instead of needing to import single modules.\n  The former is better practice. For that purpose, keep subpackage and module names short but clear, preferably one\n  word only, as opposed to tool names which should be as long as needed to be self-explanatory.\n- Prefix non-user tools with ``_`` to keep user namespace clean and organized.\n- Prefix all imports inside modules with ``_`` to keep user namespace clean and organized. Prefer top namespace\n  imports to avoid name conflicts and ambiguities. See existing modules for conventions, e.g. with respect to AiiDA\n  imports.\n- Add docstring for every added tool. Add ``typing`` hints wherever possible and sensible. See existing modules for\n  examples.\n- When manipulating AiiDA nodes, implement with 'load or create' pattern: load nodes if already exist, otherwise create.\n  Provide a ``dry_run:bool=True`` and verbosity options (``verbosity:int``, ``verbose:bool``, or ``silent:bool``).\n- If you use [cross-references](https://www.sphinx-doc.org/en/master/usage/restructuredtext/domains.html#cross-referencing-python-objects)\n  in docstrings, do cross-referencing relative to the current location (i.e., prefixed by a dot `.`). Example:\n  `` :py:func:`~.query_processes` `` instead of\n  `` :py:func:`~aiida_jutools.process.query_processes` ``, when in module `aiida_jutools.process`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjudftteam%2Faiida-jutools","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjudftteam%2Faiida-jutools","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjudftteam%2Faiida-jutools/lists"}