dynsight 2023.11.16__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- dynsight-2023.11.16/.github/pull_request_template.md +43 -0
- dynsight-2023.11.16/.github/workflows/publish_release.yaml +23 -0
- dynsight-2023.11.16/.github/workflows/tests.yaml +58 -0
- dynsight-2023.11.16/.gitignore +7 -0
- dynsight-2023.11.16/.readthedocs.yaml +16 -0
- dynsight-2023.11.16/LICENSE +19 -0
- dynsight-2023.11.16/PKG-INFO +54 -0
- dynsight-2023.11.16/README.rst +33 -0
- dynsight-2023.11.16/docs/Makefile +20 -0
- dynsight-2023.11.16/docs/source/_static/empty +0 -0
- dynsight-2023.11.16/docs/source/_templates/class.rst +31 -0
- dynsight-2023.11.16/docs/source/_templates/module.rst +68 -0
- dynsight-2023.11.16/docs/source/conf.py +45 -0
- dynsight-2023.11.16/docs/source/index.rst +65 -0
- dynsight-2023.11.16/docs/source/modules.rst +9 -0
- dynsight-2023.11.16/justfile +46 -0
- dynsight-2023.11.16/pyproject.toml +73 -0
- dynsight-2023.11.16/setup.cfg +4 -0
- dynsight-2023.11.16/src/dynsight/__init__.py +8 -0
- dynsight-2023.11.16/src/dynsight/_internal/__init__.py +0 -0
- dynsight-2023.11.16/src/dynsight/_internal/hdf5er/__init__.py +10 -0
- dynsight-2023.11.16/src/dynsight/_internal/lens/__init__.py +10 -0
- dynsight-2023.11.16/src/dynsight/_internal/soapify/__init__.py +10 -0
- dynsight-2023.11.16/src/dynsight/hdf5er.py +6 -0
- dynsight-2023.11.16/src/dynsight/lens.py +6 -0
- dynsight-2023.11.16/src/dynsight/py.typed +0 -0
- dynsight-2023.11.16/src/dynsight/soapify.py +6 -0
- dynsight-2023.11.16/src/dynsight.egg-info/PKG-INFO +54 -0
- dynsight-2023.11.16/src/dynsight.egg-info/SOURCES.txt +31 -0
- dynsight-2023.11.16/src/dynsight.egg-info/dependency_links.txt +1 -0
- dynsight-2023.11.16/src/dynsight.egg-info/requires.txt +11 -0
- dynsight-2023.11.16/src/dynsight.egg-info/top_level.txt +1 -0
- dynsight-2023.11.16/tests/test_foo.py +13 -0
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
Related Issues: <!-- Add related issues here, e.g. #121 #341 -->
|
|
2
|
+
Requested Reviewers: @andrewtarzia <!-- Add other reviewers here -->
|
|
3
|
+
*Note for Reviewers: If you accept the review request add a :+1: to this post*
|
|
4
|
+
|
|
5
|
+
<!--
|
|
6
|
+
Talk about what a user would see (a big, a new feature) and what
|
|
7
|
+
user goals weren't being met. If the commit fixes a bug, describe how
|
|
8
|
+
the bug was discovered and steps to reproduce it, unless this is
|
|
9
|
+
already covered by the related issues. If this is a bug fix, what was
|
|
10
|
+
the mistake in the application logic? Be precise. Act like a detective
|
|
11
|
+
and report your findings.
|
|
12
|
+
-->
|
|
13
|
+
|
|
14
|
+
<!--
|
|
15
|
+
Why did you make the change this way? What other ways did you consider
|
|
16
|
+
but reject? Explain how amazing your work is.
|
|
17
|
+
-->
|
|
18
|
+
|
|
19
|
+
<!--
|
|
20
|
+
What risks are associated with making the changes in the commit? Will
|
|
21
|
+
anything else break? Are the changes backwards-compatible? Is there
|
|
22
|
+
any "tech debt"?
|
|
23
|
+
-->
|
|
24
|
+
|
|
25
|
+
<!--
|
|
26
|
+
Explain the source code changes. Changes that are fully explained in
|
|
27
|
+
code comments or the above paragraphs don't need to be repeated here.
|
|
28
|
+
Use bullet points, e.g.
|
|
29
|
+
|
|
30
|
+
* `src/dynsight/_internal/lens/lens.py:Lens.get_lens()`: The method
|
|
31
|
+
parameters were updated because <some reason>. The places where
|
|
32
|
+
the method was called were also updated.
|
|
33
|
+
-->
|
|
34
|
+
|
|
35
|
+
<!--
|
|
36
|
+
Give evidence that the commit works. Did you visually inspect any
|
|
37
|
+
changes to molecular structures yourself?
|
|
38
|
+
-->
|
|
39
|
+
|
|
40
|
+
<!--
|
|
41
|
+
The suggested PR outline is taken from
|
|
42
|
+
https://joshuatauberer.medium.com/write-joyous-git-commit-messages-2f98891114c4
|
|
43
|
+
-->
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
name: Publish release
|
|
2
|
+
on:
|
|
3
|
+
push:
|
|
4
|
+
tags:
|
|
5
|
+
- 'v[0-9]+.[0-9]+.[0-9]+'
|
|
6
|
+
jobs:
|
|
7
|
+
publish-release:
|
|
8
|
+
runs-on: ubuntu-22.04
|
|
9
|
+
env:
|
|
10
|
+
VERSION: ${{ github.ref_name }}
|
|
11
|
+
steps:
|
|
12
|
+
- uses: actions/checkout@v3
|
|
13
|
+
- uses: actions/setup-python@v4
|
|
14
|
+
with:
|
|
15
|
+
python-version: "3.11"
|
|
16
|
+
cache: "pip"
|
|
17
|
+
- run: pip install -e '.[dev]'
|
|
18
|
+
- run: python -m build
|
|
19
|
+
- run:
|
|
20
|
+
twine upload
|
|
21
|
+
-u __token__
|
|
22
|
+
-p ${{ secrets.PYPI_API_TOKEN }}
|
|
23
|
+
dist/*
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
name: Tests
|
|
2
|
+
on:
|
|
3
|
+
push:
|
|
4
|
+
branches:
|
|
5
|
+
- main
|
|
6
|
+
pull_request:
|
|
7
|
+
workflow_dispatch:
|
|
8
|
+
jobs:
|
|
9
|
+
ruff:
|
|
10
|
+
runs-on: ubuntu-22.04
|
|
11
|
+
steps:
|
|
12
|
+
- uses: actions/checkout@v3
|
|
13
|
+
- uses: actions/setup-python@v4
|
|
14
|
+
with:
|
|
15
|
+
python-version: "3.11"
|
|
16
|
+
cache: "pip"
|
|
17
|
+
- run: pip install -e '.[dev]'
|
|
18
|
+
- run: ruff .
|
|
19
|
+
mypy:
|
|
20
|
+
runs-on: ubuntu-22.04
|
|
21
|
+
steps:
|
|
22
|
+
- uses: actions/checkout@v3
|
|
23
|
+
- uses: actions/setup-python@v4
|
|
24
|
+
with:
|
|
25
|
+
python-version: "3.11"
|
|
26
|
+
cache: "pip"
|
|
27
|
+
- run: pip install -e '.[dev]'
|
|
28
|
+
- run: mypy .
|
|
29
|
+
ruff-format:
|
|
30
|
+
runs-on: ubuntu-22.04
|
|
31
|
+
steps:
|
|
32
|
+
- uses: actions/checkout@v3
|
|
33
|
+
- uses: actions/setup-python@v4
|
|
34
|
+
with:
|
|
35
|
+
python-version: "3.11"
|
|
36
|
+
cache: "pip"
|
|
37
|
+
- run: pip install -e '.[dev]'
|
|
38
|
+
- run: ruff format --check .
|
|
39
|
+
pytest:
|
|
40
|
+
runs-on: ubuntu-22.04
|
|
41
|
+
steps:
|
|
42
|
+
- uses: actions/checkout@v3
|
|
43
|
+
- uses: actions/setup-python@v4
|
|
44
|
+
with:
|
|
45
|
+
python-version: "3.11"
|
|
46
|
+
cache: "pip"
|
|
47
|
+
- run: pip install -e '.[dev]'
|
|
48
|
+
- run: pytest --cov=src --cov-report term-missing
|
|
49
|
+
doctest:
|
|
50
|
+
runs-on: ubuntu-22.04
|
|
51
|
+
steps:
|
|
52
|
+
- uses: actions/checkout@v3
|
|
53
|
+
- uses: actions/setup-python@v4
|
|
54
|
+
with:
|
|
55
|
+
python-version: "3.11"
|
|
56
|
+
cache: "pip"
|
|
57
|
+
- run: pip install -e '.[dev]'
|
|
58
|
+
- run: make -C docs doctest
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
iCopyright (c) 2023 Andrew Tarzia, GMPavanLab
|
|
2
|
+
|
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
4
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
5
|
+
in the Software without restriction, including without limitation the rights
|
|
6
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
7
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
8
|
+
furnished to do so, subject to the following conditions:
|
|
9
|
+
|
|
10
|
+
The above copyright notice and this permission notice shall be included in all
|
|
11
|
+
copies or substantial portions of the Software.
|
|
12
|
+
|
|
13
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
14
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
15
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
16
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
17
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
18
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
19
|
+
SOFTWARE.
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
Metadata-Version: 2.1
|
|
2
|
+
Name: dynsight
|
|
3
|
+
Version: 2023.11.16
|
|
4
|
+
Summary: Simplifies analysis of Molecular Dynamics simulations.
|
|
5
|
+
Maintainer-email: Andrew Tarzia <andrew.tarzia@gmail.com>
|
|
6
|
+
Project-URL: github, https://github.com/GMPavanLab/dynsight
|
|
7
|
+
Project-URL: documentation, https://dynsight.readthedocs.io/en/latest/
|
|
8
|
+
Requires-Python: >=3.7
|
|
9
|
+
Description-Content-Type: text/x-rst
|
|
10
|
+
License-File: LICENSE
|
|
11
|
+
Provides-Extra: dev
|
|
12
|
+
Requires-Dist: ruff; extra == "dev"
|
|
13
|
+
Requires-Dist: mypy; extra == "dev"
|
|
14
|
+
Requires-Dist: pytest; extra == "dev"
|
|
15
|
+
Requires-Dist: pytest-cov; extra == "dev"
|
|
16
|
+
Requires-Dist: sphinx; extra == "dev"
|
|
17
|
+
Requires-Dist: sphinx-copybutton; extra == "dev"
|
|
18
|
+
Requires-Dist: build; extra == "dev"
|
|
19
|
+
Requires-Dist: twine; extra == "dev"
|
|
20
|
+
Requires-Dist: furo; extra == "dev"
|
|
21
|
+
|
|
22
|
+
:maintainers:
|
|
23
|
+
`andrewtarzia <https://github.com/andrewtarzia/>`_
|
|
24
|
+
:documentation: https://dynsight.readthedocs.io
|
|
25
|
+
|
|
26
|
+
Installation
|
|
27
|
+
============
|
|
28
|
+
|
|
29
|
+
To get ``dynsight``, you can install it with pip::
|
|
30
|
+
|
|
31
|
+
$ pip install dynsight
|
|
32
|
+
|
|
33
|
+
How To Cite
|
|
34
|
+
===========
|
|
35
|
+
|
|
36
|
+
If you use ``dynsight`` please cite
|
|
37
|
+
|
|
38
|
+
https://github.com/GMPavanLab/dynsight
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
Publications
|
|
43
|
+
============
|
|
44
|
+
|
|
45
|
+
* people need to add PRs to mention these.
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
Acknowledgements
|
|
49
|
+
================
|
|
50
|
+
|
|
51
|
+
Developed in GMP
|
|
52
|
+
ERC
|
|
53
|
+
NextGenEU
|
|
54
|
+
Danielle Rappeti
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
:maintainers:
|
|
2
|
+
`andrewtarzia <https://github.com/andrewtarzia/>`_
|
|
3
|
+
:documentation: https://dynsight.readthedocs.io
|
|
4
|
+
|
|
5
|
+
Installation
|
|
6
|
+
============
|
|
7
|
+
|
|
8
|
+
To get ``dynsight``, you can install it with pip::
|
|
9
|
+
|
|
10
|
+
$ pip install dynsight
|
|
11
|
+
|
|
12
|
+
How To Cite
|
|
13
|
+
===========
|
|
14
|
+
|
|
15
|
+
If you use ``dynsight`` please cite
|
|
16
|
+
|
|
17
|
+
https://github.com/GMPavanLab/dynsight
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
Publications
|
|
22
|
+
============
|
|
23
|
+
|
|
24
|
+
* people need to add PRs to mention these.
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
Acknowledgements
|
|
28
|
+
================
|
|
29
|
+
|
|
30
|
+
Developed in GMP
|
|
31
|
+
ERC
|
|
32
|
+
NextGenEU
|
|
33
|
+
Danielle Rappeti
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# Minimal makefile for Sphinx documentation
|
|
2
|
+
#
|
|
3
|
+
|
|
4
|
+
# You can set these variables from the command line, and also
|
|
5
|
+
# from the environment for the first two.
|
|
6
|
+
SPHINXOPTS ?= -W --keep-going
|
|
7
|
+
SPHINXBUILD ?= sphinx-build
|
|
8
|
+
SOURCEDIR = source
|
|
9
|
+
BUILDDIR = build
|
|
10
|
+
|
|
11
|
+
# Put it first so that "make" without argument is like "make help".
|
|
12
|
+
help:
|
|
13
|
+
@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
|
|
14
|
+
|
|
15
|
+
.PHONY: help Makefile
|
|
16
|
+
|
|
17
|
+
# Catch-all target: route all unknown targets to Sphinx using the new
|
|
18
|
+
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
|
|
19
|
+
%: Makefile
|
|
20
|
+
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
|
|
File without changes
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
{{ fullname | escape | underline}}
|
|
2
|
+
|
|
3
|
+
.. currentmodule:: {{ module }}
|
|
4
|
+
|
|
5
|
+
.. autoclass:: {{ objname }}
|
|
6
|
+
:members:
|
|
7
|
+
|
|
8
|
+
{% block methods %}
|
|
9
|
+
{% if methods %}
|
|
10
|
+
.. rubric:: {{ _('Methods') }}
|
|
11
|
+
|
|
12
|
+
.. autosummary::
|
|
13
|
+
:nosignatures:
|
|
14
|
+
{% for item in methods %}
|
|
15
|
+
{%- if not item.startswith('_') and item not in inherited_members %}
|
|
16
|
+
~{{ name }}.{{ item }}
|
|
17
|
+
{%- endif -%}
|
|
18
|
+
{%- endfor %}
|
|
19
|
+
{% endif %}
|
|
20
|
+
{% endblock %}
|
|
21
|
+
|
|
22
|
+
{% block attributes %}
|
|
23
|
+
{% if attributes %}
|
|
24
|
+
.. rubric:: {{ _('Attributes') }}
|
|
25
|
+
|
|
26
|
+
.. autosummary::
|
|
27
|
+
{% for item in attributes %}
|
|
28
|
+
~{{ name }}.{{ item }}
|
|
29
|
+
{%- endfor %}
|
|
30
|
+
{% endif %}
|
|
31
|
+
{% endblock %}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
{{ fullname | escape | underline}}
|
|
2
|
+
|
|
3
|
+
.. automodule:: {{ fullname }}
|
|
4
|
+
|
|
5
|
+
{% block attributes %}
|
|
6
|
+
{% if attributes %}
|
|
7
|
+
.. rubric:: Module attributes
|
|
8
|
+
|
|
9
|
+
.. autosummary::
|
|
10
|
+
:toctree:
|
|
11
|
+
{% for item in attributes %}
|
|
12
|
+
{{ item }}
|
|
13
|
+
{%- endfor %}
|
|
14
|
+
{% endif %}
|
|
15
|
+
{% endblock %}
|
|
16
|
+
|
|
17
|
+
{% block functions %}
|
|
18
|
+
{% if functions %}
|
|
19
|
+
.. rubric:: {{ _('Functions') }}
|
|
20
|
+
|
|
21
|
+
.. autosummary::
|
|
22
|
+
:toctree:
|
|
23
|
+
:nosignatures:
|
|
24
|
+
{% for item in functions %}
|
|
25
|
+
{{ item }}
|
|
26
|
+
{%- endfor %}
|
|
27
|
+
{% endif %}
|
|
28
|
+
{% endblock %}
|
|
29
|
+
|
|
30
|
+
{% block classes %}
|
|
31
|
+
{% if classes %}
|
|
32
|
+
.. rubric:: {{ _('Classes') }}
|
|
33
|
+
|
|
34
|
+
.. autosummary::
|
|
35
|
+
:toctree:
|
|
36
|
+
:template: class.rst
|
|
37
|
+
:nosignatures:
|
|
38
|
+
{% for item in classes %}
|
|
39
|
+
{{ item }}
|
|
40
|
+
{%- endfor %}
|
|
41
|
+
{% endif %}
|
|
42
|
+
{% endblock %}
|
|
43
|
+
|
|
44
|
+
{% block exceptions %}
|
|
45
|
+
{% if exceptions %}
|
|
46
|
+
.. rubric:: {{ _('Exceptions') }}
|
|
47
|
+
|
|
48
|
+
.. autosummary::
|
|
49
|
+
:toctree:
|
|
50
|
+
{% for item in exceptions %}
|
|
51
|
+
{{ item }}
|
|
52
|
+
{%- endfor %}
|
|
53
|
+
{% endif %}
|
|
54
|
+
{% endblock %}
|
|
55
|
+
|
|
56
|
+
{% block modules %}
|
|
57
|
+
{% if modules %}
|
|
58
|
+
.. rubric:: Modules
|
|
59
|
+
|
|
60
|
+
.. autosummary::
|
|
61
|
+
:toctree:
|
|
62
|
+
:template: module.rst
|
|
63
|
+
:recursive:
|
|
64
|
+
{% for item in modules %}
|
|
65
|
+
{{ item }}
|
|
66
|
+
{%- endfor %}
|
|
67
|
+
{% endif %}
|
|
68
|
+
{% endblock %}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# Configuration file for the Sphinx documentation builder.
|
|
2
|
+
#
|
|
3
|
+
# For the full list of built-in configuration values, see the documentation:
|
|
4
|
+
# https://www.sphinx-doc.org/en/master/usage/configuration.html
|
|
5
|
+
|
|
6
|
+
# -- Project information -----------------------------------------------------
|
|
7
|
+
# https://www.sphinx-doc.org/en/master/usage/configuration.html#project-information
|
|
8
|
+
from __future__ import annotations
|
|
9
|
+
|
|
10
|
+
project = "dynsight"
|
|
11
|
+
project_copyright = "2023, Andrew Tarzia"
|
|
12
|
+
author = "Andrew Tarzia"
|
|
13
|
+
|
|
14
|
+
# -- General configuration ---------------------------------------------------
|
|
15
|
+
# https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration
|
|
16
|
+
|
|
17
|
+
extensions = [
|
|
18
|
+
"sphinx.ext.doctest",
|
|
19
|
+
"sphinx.ext.napoleon",
|
|
20
|
+
"sphinx.ext.autosummary",
|
|
21
|
+
"sphinx.ext.intersphinx",
|
|
22
|
+
"sphinx.ext.viewcode",
|
|
23
|
+
"sphinx_copybutton",
|
|
24
|
+
]
|
|
25
|
+
|
|
26
|
+
autosummary_imported_members = True
|
|
27
|
+
|
|
28
|
+
autodoc_typehints = "description"
|
|
29
|
+
autodoc_member_order = "groupwise"
|
|
30
|
+
autoclass_content = "class"
|
|
31
|
+
|
|
32
|
+
intersphinx_mapping = {
|
|
33
|
+
"python": ("https://docs.python.org/3", None),
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
templates_path = ["_templates"]
|
|
38
|
+
exclude_patterns: list[str] = []
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
# -- Options for HTML output -------------------------------------------------
|
|
42
|
+
# https://www.sphinx-doc.org/en/master/usage/configuration.html#options-for-html-output
|
|
43
|
+
|
|
44
|
+
html_theme = "furo"
|
|
45
|
+
html_static_path = ["_static"]
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
.. dynsight documentation master file, created by
|
|
2
|
+
sphinx-quickstart on Thu Oct 19 15:55:32 2023.
|
|
3
|
+
You can adapt this file completely to your liking, but it should at least
|
|
4
|
+
contain the root `toctree` directive.
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
.. toctree::
|
|
8
|
+
:hidden:
|
|
9
|
+
:maxdepth: 2
|
|
10
|
+
:caption: Modules:
|
|
11
|
+
|
|
12
|
+
Modules <modules>
|
|
13
|
+
|
|
14
|
+
============
|
|
15
|
+
Introduction
|
|
16
|
+
============
|
|
17
|
+
|
|
18
|
+
| GitHub: https://www.github.com/GMPavanLab/dynsight
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
:mod:`.dynsight` is a Python library aimed at simplifying the analysis of Molecular
|
|
22
|
+
Dynamics simulations.
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
Previously in `cpctools`_.
|
|
27
|
+
|
|
28
|
+
.. _`cpctools`: https://github.com/GMPavanLab/cpctools
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
Installation
|
|
32
|
+
------------
|
|
33
|
+
|
|
34
|
+
To get :mod:`.dynsight`, you can install it with pip::
|
|
35
|
+
|
|
36
|
+
$ pip install dynsight
|
|
37
|
+
|
|
38
|
+
Developer Setup
|
|
39
|
+
...............
|
|
40
|
+
|
|
41
|
+
#. Install `just`_.
|
|
42
|
+
#. In a new virtual environment run::
|
|
43
|
+
|
|
44
|
+
$ just dev
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
#. Run code checks::
|
|
48
|
+
|
|
49
|
+
$ just check
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
.. _`just`: https://github.com/casey/just
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
Overview
|
|
56
|
+
--------
|
|
57
|
+
|
|
58
|
+
To be written.
|
|
59
|
+
|
|
60
|
+
Indices and tables
|
|
61
|
+
------------------
|
|
62
|
+
|
|
63
|
+
* :ref:`genindex`
|
|
64
|
+
* :ref:`modindex`
|
|
65
|
+
* :ref:`search`
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# List all commands.
|
|
2
|
+
default:
|
|
3
|
+
@just --list
|
|
4
|
+
|
|
5
|
+
# Build docs.
|
|
6
|
+
docs:
|
|
7
|
+
rm -rf docs/source/_autosummary
|
|
8
|
+
make -C docs html
|
|
9
|
+
echo Docs are in $PWD/docs/build/html/index.html
|
|
10
|
+
|
|
11
|
+
# Do a dev install.
|
|
12
|
+
dev:
|
|
13
|
+
pip install -e '.[dev]'
|
|
14
|
+
|
|
15
|
+
# Run code checks.
|
|
16
|
+
check:
|
|
17
|
+
#!/usr/bin/env bash
|
|
18
|
+
|
|
19
|
+
error=0
|
|
20
|
+
trap error=1 ERR
|
|
21
|
+
|
|
22
|
+
echo
|
|
23
|
+
(set -x; ruff . )
|
|
24
|
+
|
|
25
|
+
echo
|
|
26
|
+
( set -x; ruff format --check . )
|
|
27
|
+
|
|
28
|
+
echo
|
|
29
|
+
( set -x; mypy . )
|
|
30
|
+
|
|
31
|
+
echo
|
|
32
|
+
( set -x; pytest --cov=src --cov-report term-missing )
|
|
33
|
+
|
|
34
|
+
echo
|
|
35
|
+
( set -x; make -C docs doctest )
|
|
36
|
+
|
|
37
|
+
test $error = 0
|
|
38
|
+
|
|
39
|
+
# Auto-fix code issues.
|
|
40
|
+
fix:
|
|
41
|
+
ruff format .
|
|
42
|
+
ruff --fix .
|
|
43
|
+
|
|
44
|
+
# Build a release.
|
|
45
|
+
build:
|
|
46
|
+
python -m build
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
[build-system]
|
|
2
|
+
requires = ["setuptools", "setuptools_scm"]
|
|
3
|
+
build-backend = "setuptools.build_meta"
|
|
4
|
+
|
|
5
|
+
[project]
|
|
6
|
+
name = "dynsight"
|
|
7
|
+
maintainers = [
|
|
8
|
+
{ name = "Andrew Tarzia", email = "andrew.tarzia@gmail.com" },
|
|
9
|
+
]
|
|
10
|
+
|
|
11
|
+
dependencies = []
|
|
12
|
+
requires-python = ">=3.7"
|
|
13
|
+
dynamic = ["version"]
|
|
14
|
+
readme = "README.rst"
|
|
15
|
+
description = "Simplifies analysis of Molecular Dynamics simulations."
|
|
16
|
+
|
|
17
|
+
[project.optional-dependencies]
|
|
18
|
+
dev = [
|
|
19
|
+
"ruff",
|
|
20
|
+
"mypy",
|
|
21
|
+
"pytest",
|
|
22
|
+
"pytest-cov",
|
|
23
|
+
"sphinx",
|
|
24
|
+
"sphinx-copybutton",
|
|
25
|
+
"build",
|
|
26
|
+
"twine",
|
|
27
|
+
"furo",
|
|
28
|
+
]
|
|
29
|
+
|
|
30
|
+
[project.urls]
|
|
31
|
+
github = "https://github.com/GMPavanLab/dynsight"
|
|
32
|
+
documentation = "https://dynsight.readthedocs.io/en/latest/"
|
|
33
|
+
|
|
34
|
+
[tool.setuptools_scm]
|
|
35
|
+
|
|
36
|
+
[tool.ruff]
|
|
37
|
+
line-length = 79
|
|
38
|
+
select = ["ALL"]
|
|
39
|
+
ignore = ["ANN101", "ANN401", "COM812", "ISC001"]
|
|
40
|
+
|
|
41
|
+
[tool.ruff.lint.pydocstyle]
|
|
42
|
+
convention = "google"
|
|
43
|
+
|
|
44
|
+
[tool.ruff.lint.per-file-ignores]
|
|
45
|
+
"tests/*" = [
|
|
46
|
+
"D100",
|
|
47
|
+
"D101",
|
|
48
|
+
"D102",
|
|
49
|
+
"D103",
|
|
50
|
+
"D104",
|
|
51
|
+
"D105",
|
|
52
|
+
"D106",
|
|
53
|
+
"D107",
|
|
54
|
+
"S101",
|
|
55
|
+
"INP001",
|
|
56
|
+
]
|
|
57
|
+
"docs/source/conf.py" = ["D100", "INP001"]
|
|
58
|
+
|
|
59
|
+
[tool.mypy]
|
|
60
|
+
show_error_codes = true
|
|
61
|
+
implicit_optional = false
|
|
62
|
+
warn_no_return = true
|
|
63
|
+
strict_optional = true
|
|
64
|
+
disallow_untyped_defs = true
|
|
65
|
+
disallow_incomplete_defs = true
|
|
66
|
+
check_untyped_defs = true
|
|
67
|
+
disallow_untyped_decorators = true
|
|
68
|
+
warn_unreachable = true
|
|
69
|
+
disallow_any_generics = true
|
|
70
|
+
|
|
71
|
+
[[tool.mypy.overrides]]
|
|
72
|
+
module = []
|
|
73
|
+
ignore_missing_imports = true
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
Metadata-Version: 2.1
|
|
2
|
+
Name: dynsight
|
|
3
|
+
Version: 2023.11.16
|
|
4
|
+
Summary: Simplifies analysis of Molecular Dynamics simulations.
|
|
5
|
+
Maintainer-email: Andrew Tarzia <andrew.tarzia@gmail.com>
|
|
6
|
+
Project-URL: github, https://github.com/GMPavanLab/dynsight
|
|
7
|
+
Project-URL: documentation, https://dynsight.readthedocs.io/en/latest/
|
|
8
|
+
Requires-Python: >=3.7
|
|
9
|
+
Description-Content-Type: text/x-rst
|
|
10
|
+
License-File: LICENSE
|
|
11
|
+
Provides-Extra: dev
|
|
12
|
+
Requires-Dist: ruff; extra == "dev"
|
|
13
|
+
Requires-Dist: mypy; extra == "dev"
|
|
14
|
+
Requires-Dist: pytest; extra == "dev"
|
|
15
|
+
Requires-Dist: pytest-cov; extra == "dev"
|
|
16
|
+
Requires-Dist: sphinx; extra == "dev"
|
|
17
|
+
Requires-Dist: sphinx-copybutton; extra == "dev"
|
|
18
|
+
Requires-Dist: build; extra == "dev"
|
|
19
|
+
Requires-Dist: twine; extra == "dev"
|
|
20
|
+
Requires-Dist: furo; extra == "dev"
|
|
21
|
+
|
|
22
|
+
:maintainers:
|
|
23
|
+
`andrewtarzia <https://github.com/andrewtarzia/>`_
|
|
24
|
+
:documentation: https://dynsight.readthedocs.io
|
|
25
|
+
|
|
26
|
+
Installation
|
|
27
|
+
============
|
|
28
|
+
|
|
29
|
+
To get ``dynsight``, you can install it with pip::
|
|
30
|
+
|
|
31
|
+
$ pip install dynsight
|
|
32
|
+
|
|
33
|
+
How To Cite
|
|
34
|
+
===========
|
|
35
|
+
|
|
36
|
+
If you use ``dynsight`` please cite
|
|
37
|
+
|
|
38
|
+
https://github.com/GMPavanLab/dynsight
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
Publications
|
|
43
|
+
============
|
|
44
|
+
|
|
45
|
+
* people need to add PRs to mention these.
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
Acknowledgements
|
|
49
|
+
================
|
|
50
|
+
|
|
51
|
+
Developed in GMP
|
|
52
|
+
ERC
|
|
53
|
+
NextGenEU
|
|
54
|
+
Danielle Rappeti
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
.gitignore
|
|
2
|
+
.readthedocs.yaml
|
|
3
|
+
LICENSE
|
|
4
|
+
README.rst
|
|
5
|
+
justfile
|
|
6
|
+
pyproject.toml
|
|
7
|
+
.github/pull_request_template.md
|
|
8
|
+
.github/workflows/publish_release.yaml
|
|
9
|
+
.github/workflows/tests.yaml
|
|
10
|
+
docs/Makefile
|
|
11
|
+
docs/source/conf.py
|
|
12
|
+
docs/source/index.rst
|
|
13
|
+
docs/source/modules.rst
|
|
14
|
+
docs/source/_static/empty
|
|
15
|
+
docs/source/_templates/class.rst
|
|
16
|
+
docs/source/_templates/module.rst
|
|
17
|
+
src/dynsight/__init__.py
|
|
18
|
+
src/dynsight/hdf5er.py
|
|
19
|
+
src/dynsight/lens.py
|
|
20
|
+
src/dynsight/py.typed
|
|
21
|
+
src/dynsight/soapify.py
|
|
22
|
+
src/dynsight.egg-info/PKG-INFO
|
|
23
|
+
src/dynsight.egg-info/SOURCES.txt
|
|
24
|
+
src/dynsight.egg-info/dependency_links.txt
|
|
25
|
+
src/dynsight.egg-info/requires.txt
|
|
26
|
+
src/dynsight.egg-info/top_level.txt
|
|
27
|
+
src/dynsight/_internal/__init__.py
|
|
28
|
+
src/dynsight/_internal/hdf5er/__init__.py
|
|
29
|
+
src/dynsight/_internal/lens/__init__.py
|
|
30
|
+
src/dynsight/_internal/soapify/__init__.py
|
|
31
|
+
tests/test_foo.py
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
dynsight
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import dynsight
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
def test_foo1() -> None:
|
|
5
|
+
assert dynsight.hdf5er.foo1(3) == "Hello, World! Also: 3"
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
def test_foo2() -> None:
|
|
9
|
+
assert dynsight.soapify.foo3(11) == "Hello, World! Also: 11"
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
def test_foo3() -> None:
|
|
13
|
+
assert dynsight.lens.foo2(13) == "Hello, World! Also: 13"
|