{"id":19578596,"url":"https://github.com/materialsproject/pymatgen-addon-template","last_synced_at":"2025-08-20T17:08:08.330Z","repository":{"id":151271011,"uuid":"345122979","full_name":"materialsproject/pymatgen-addon-template","owner":"materialsproject","description":"A template for writing add-on namespace packages for pymatgen","archived":false,"fork":false,"pushed_at":"2025-07-07T18:57:35.000Z","size":33,"stargazers_count":6,"open_issues_count":1,"forks_count":2,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-07-07T23:22:52.961Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/materialsproject.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2021-03-06T15:11:20.000Z","updated_at":"2024-11-24T01:07:39.000Z","dependencies_parsed_at":"2023-11-07T01:22:17.207Z","dependency_job_id":"285c3630-2569-4c72-8d4f-2599a51c12e8","html_url":"https://github.com/materialsproject/pymatgen-addon-template","commit_stats":null,"previous_names":[],"tags_count":0,"template":true,"template_full_name":null,"purl":"pkg:github/materialsproject/pymatgen-addon-template","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/materialsproject%2Fpymatgen-addon-template","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/materialsproject%2Fpymatgen-addon-template/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/materialsproject%2Fpymatgen-addon-template/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/materialsproject%2Fpymatgen-addon-template/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/materialsproject","download_url":"https://codeload.github.com/materialsproject/pymatgen-addon-template/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/materialsproject%2Fpymatgen-addon-template/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271353975,"owners_count":24744995,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-20T02:00:09.606Z","response_time":69,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":[],"created_at":"2024-11-11T07:12:07.939Z","updated_at":"2025-08-20T17:08:08.306Z","avatar_url":"https://github.com/materialsproject.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"Pymatgen-analysis-myaddon\n=========================\n\nThis is a template for writing an add-on for pymatgen. From v2022.0.3, pymatgen, pymatgen.analysis, pymatgen.ext and\nand pymatgen.io are now `namespace packages \u003chttp://packaging.python.org/guides/packaging-namespace-packages/\u003e`_. What\nthis means is that developers can now write packages that add functionality to pymatgen, such as:\n\n* A new type of analysis (pymatgen.analysis);\n* A high-level API access to a new external resource (pymatgen.ext); or\n* Support for input/output from another code, e.g., a new quantum chemistry software (pymatgen.io).\n\nFor a real-world example using this template, check out `Materials Virtual Lab's pymatgen-analysis-diffusion\n\u003chttp://github.com/materialsvirtuallab/pymatgen-analysis-diffusion\u003e`_.\n\nUsage\n=====\n\n1. Download this template as a zip file.\n2. (Optional, Highly recommended) If you plan on using version control, create a Github or any other type of\n   repository for your code and copy the contents of the zip file into your folder.\n3. Rename all the `myaddon` in the template files to a name of your choosing.\n4. Write your code. While you have complete freedom to organize your own code, there are a few rules that must be\n   followed in order for your code to work properly as a pymatgen namespace package.\n\n    a. The directory structure should be as follows::\n\n        pymatgen\n        # No __init__.py here. This is CRITICAL!\n           analysis (alternatively, this can be ext or io)\n           # No __init__.py here. This is CRITICAL!\n              myaddon\n              - __init__.py\n              - other module.py files\n    b. In setup.py, please name your package with the convention `pymatgen-\u003cnamespace\u003e-\u003caddon_name\u003e`. Also make any\n       modifications to the rest of the file, especially the `find_namespace_packages` call.\n    c. Your minimum pymatgen dependency must be 2022.0.3. This is set by the line\n       `install_requires=[\"pymatgen\u003e=2022.0.3\"]` in the setup.py and the requirements.txt file.\n\n5. It is highly recommended you use the structure of this template and the included Github Actions workflows\n   (see `.github \u003c/.github/workflows\u003e`_ folder). These should work out of the box and performs linting and testing of\n   your code with every push. Note that the testing is only as useful as the tests you write. It is highly recommended\n   that you write unittests for all functionality.\n6. Release your package on PyPi, see `Python Packaging Guide\n   \u003chttp://packaging.python.org/tutorials/packaging-projects/\u003e`_.\n7. (Optional) You may submit a pull request to add your package to the `pymatgen add-ons listing page\n   \u003chttps://github.com/materialsproject/pymatgen/blob/master/docs_rst/addons.rst\u003e`_.\n\nAfterwards, others will be able to install your package using::\n\n    pip install pymatgen-\u003cnamespace\u003e-\u003caddon_name\u003e\n\nand all functionality will be available under::\n\n    from pymatgen.\u003cnamespace\u003e.\u003caddon_name\u003e import *\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaterialsproject%2Fpymatgen-addon-template","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmaterialsproject%2Fpymatgen-addon-template","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaterialsproject%2Fpymatgen-addon-template/lists"}