aind-data-schema-models 2.2.0__tar.gz → 2.3.0__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.
Files changed (85) hide show
  1. aind_data_schema_models-2.3.0/PKG-INFO +72 -0
  2. aind_data_schema_models-2.3.0/README.md +44 -0
  3. aind_data_schema_models-2.3.0/src/aind_data_schema_models/__init__.py +3 -0
  4. {aind_data_schema_models-2.2.0 → aind_data_schema_models-2.3.0}/src/aind_data_schema_models/_generators/templates/mouse_anatomy.txt +6 -0
  5. {aind_data_schema_models-2.2.0 → aind_data_schema_models-2.3.0}/src/aind_data_schema_models/mouse_anatomy.py +7 -0
  6. aind_data_schema_models-2.3.0/src/aind_data_schema_models.egg-info/PKG-INFO +72 -0
  7. aind_data_schema_models-2.2.0/PKG-INFO +0 -134
  8. aind_data_schema_models-2.2.0/README.md +0 -106
  9. aind_data_schema_models-2.2.0/src/aind_data_schema_models/__init__.py +0 -3
  10. aind_data_schema_models-2.2.0/src/aind_data_schema_models.egg-info/PKG-INFO +0 -134
  11. {aind_data_schema_models-2.2.0 → aind_data_schema_models-2.3.0}/.flake8 +0 -0
  12. {aind_data_schema_models-2.2.0 → aind_data_schema_models-2.3.0}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  13. {aind_data_schema_models-2.2.0 → aind_data_schema_models-2.3.0}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  14. {aind_data_schema_models-2.2.0 → aind_data_schema_models-2.3.0}/.github/ISSUE_TEMPLATE/user-story.md +0 -0
  15. {aind_data_schema_models-2.2.0 → aind_data_schema_models-2.3.0}/.github/workflows/publish_models_dev.yml +0 -0
  16. {aind_data_schema_models-2.2.0 → aind_data_schema_models-2.3.0}/.github/workflows/publish_models_main.yml +0 -0
  17. {aind_data_schema_models-2.2.0 → aind_data_schema_models-2.3.0}/.github/workflows/tag_and_publish_main.yml +0 -0
  18. {aind_data_schema_models-2.2.0 → aind_data_schema_models-2.3.0}/.github/workflows/test_and_lint.yml +0 -0
  19. {aind_data_schema_models-2.2.0 → aind_data_schema_models-2.3.0}/.gitignore +0 -0
  20. {aind_data_schema_models-2.2.0 → aind_data_schema_models-2.3.0}/LICENSE +0 -0
  21. {aind_data_schema_models-2.2.0 → aind_data_schema_models-2.3.0}/doc_template/Makefile +0 -0
  22. {aind_data_schema_models-2.2.0 → aind_data_schema_models-2.3.0}/doc_template/make.bat +0 -0
  23. {aind_data_schema_models-2.2.0 → aind_data_schema_models-2.3.0}/doc_template/source/_static/dark-logo.svg +0 -0
  24. {aind_data_schema_models-2.2.0 → aind_data_schema_models-2.3.0}/doc_template/source/_static/favicon.ico +0 -0
  25. {aind_data_schema_models-2.2.0 → aind_data_schema_models-2.3.0}/doc_template/source/_static/light-logo.svg +0 -0
  26. {aind_data_schema_models-2.2.0 → aind_data_schema_models-2.3.0}/doc_template/source/conf.py +0 -0
  27. {aind_data_schema_models-2.2.0 → aind_data_schema_models-2.3.0}/doc_template/source/index.rst +0 -0
  28. {aind_data_schema_models-2.2.0 → aind_data_schema_models-2.3.0}/pyproject.toml +0 -0
  29. {aind_data_schema_models-2.2.0 → aind_data_schema_models-2.3.0}/run_all.sh +0 -0
  30. {aind_data_schema_models-2.2.0 → aind_data_schema_models-2.3.0}/scripts/__init__.py +0 -0
  31. {aind_data_schema_models-2.2.0 → aind_data_schema_models-2.3.0}/scripts/write_to_docdb.py +0 -0
  32. {aind_data_schema_models-2.2.0 → aind_data_schema_models-2.3.0}/setup.cfg +0 -0
  33. {aind_data_schema_models-2.2.0 → aind_data_schema_models-2.3.0}/setup.py +0 -0
  34. {aind_data_schema_models-2.2.0 → aind_data_schema_models-2.3.0}/src/aind_data_schema_models/_generators/__init__.py +0 -0
  35. {aind_data_schema_models-2.2.0 → aind_data_schema_models-2.3.0}/src/aind_data_schema_models/_generators/dev_utils.py +0 -0
  36. {aind_data_schema_models-2.2.0 → aind_data_schema_models-2.3.0}/src/aind_data_schema_models/_generators/generator.py +0 -0
  37. {aind_data_schema_models-2.2.0 → aind_data_schema_models-2.3.0}/src/aind_data_schema_models/_generators/models/brain_atlas.csv +0 -0
  38. {aind_data_schema_models-2.2.0 → aind_data_schema_models-2.3.0}/src/aind_data_schema_models/_generators/models/harp_types.csv +0 -0
  39. {aind_data_schema_models-2.2.0 → aind_data_schema_models-2.3.0}/src/aind_data_schema_models/_generators/models/modalities.csv +0 -0
  40. {aind_data_schema_models-2.2.0 → aind_data_schema_models-2.3.0}/src/aind_data_schema_models/_generators/models/mouse_anatomy.csv +0 -0
  41. {aind_data_schema_models-2.2.0 → aind_data_schema_models-2.3.0}/src/aind_data_schema_models/_generators/models/organizations.csv +0 -0
  42. {aind_data_schema_models-2.2.0 → aind_data_schema_models-2.3.0}/src/aind_data_schema_models/_generators/models/process_names.csv +0 -0
  43. {aind_data_schema_models-2.2.0 → aind_data_schema_models-2.3.0}/src/aind_data_schema_models/_generators/models/registries.csv +0 -0
  44. {aind_data_schema_models-2.2.0 → aind_data_schema_models-2.3.0}/src/aind_data_schema_models/_generators/models/species.csv +0 -0
  45. {aind_data_schema_models-2.2.0 → aind_data_schema_models-2.3.0}/src/aind_data_schema_models/_generators/models/specimen_procedure_types.csv +0 -0
  46. {aind_data_schema_models-2.2.0 → aind_data_schema_models-2.3.0}/src/aind_data_schema_models/_generators/templates/brain_atlas.txt +0 -0
  47. {aind_data_schema_models-2.2.0 → aind_data_schema_models-2.3.0}/src/aind_data_schema_models/_generators/templates/harp_types.txt +0 -0
  48. {aind_data_schema_models-2.2.0 → aind_data_schema_models-2.3.0}/src/aind_data_schema_models/_generators/templates/modalities.txt +0 -0
  49. {aind_data_schema_models-2.2.0 → aind_data_schema_models-2.3.0}/src/aind_data_schema_models/_generators/templates/organizations.txt +0 -0
  50. {aind_data_schema_models-2.2.0 → aind_data_schema_models-2.3.0}/src/aind_data_schema_models/_generators/templates/process_names.txt +0 -0
  51. {aind_data_schema_models-2.2.0 → aind_data_schema_models-2.3.0}/src/aind_data_schema_models/_generators/templates/registries.txt +0 -0
  52. {aind_data_schema_models-2.2.0 → aind_data_schema_models-2.3.0}/src/aind_data_schema_models/_generators/templates/species.txt +0 -0
  53. {aind_data_schema_models-2.2.0 → aind_data_schema_models-2.3.0}/src/aind_data_schema_models/_generators/templates/specimen_procedure_types.txt +0 -0
  54. {aind_data_schema_models-2.2.0 → aind_data_schema_models-2.3.0}/src/aind_data_schema_models/brain_atlas.py +0 -0
  55. {aind_data_schema_models-2.2.0 → aind_data_schema_models-2.3.0}/src/aind_data_schema_models/data_name_patterns.py +0 -0
  56. {aind_data_schema_models-2.2.0 → aind_data_schema_models-2.3.0}/src/aind_data_schema_models/harp_types.py +0 -0
  57. {aind_data_schema_models-2.2.0 → aind_data_schema_models-2.3.0}/src/aind_data_schema_models/modalities.py +0 -0
  58. {aind_data_schema_models-2.2.0 → aind_data_schema_models-2.3.0}/src/aind_data_schema_models/organizations.py +0 -0
  59. {aind_data_schema_models-2.2.0 → aind_data_schema_models-2.3.0}/src/aind_data_schema_models/pid_names.py +0 -0
  60. {aind_data_schema_models-2.2.0 → aind_data_schema_models-2.3.0}/src/aind_data_schema_models/process_names.py +0 -0
  61. {aind_data_schema_models-2.2.0 → aind_data_schema_models-2.3.0}/src/aind_data_schema_models/registries.py +0 -0
  62. {aind_data_schema_models-2.2.0 → aind_data_schema_models-2.3.0}/src/aind_data_schema_models/species.py +0 -0
  63. {aind_data_schema_models-2.2.0 → aind_data_schema_models-2.3.0}/src/aind_data_schema_models/specimen_procedure_types.py +0 -0
  64. {aind_data_schema_models-2.2.0 → aind_data_schema_models-2.3.0}/src/aind_data_schema_models/system_architecture.py +0 -0
  65. {aind_data_schema_models-2.2.0 → aind_data_schema_models-2.3.0}/src/aind_data_schema_models/units.py +0 -0
  66. {aind_data_schema_models-2.2.0 → aind_data_schema_models-2.3.0}/src/aind_data_schema_models/utils.py +0 -0
  67. {aind_data_schema_models-2.2.0 → aind_data_schema_models-2.3.0}/src/aind_data_schema_models.egg-info/SOURCES.txt +0 -0
  68. {aind_data_schema_models-2.2.0 → aind_data_schema_models-2.3.0}/src/aind_data_schema_models.egg-info/dependency_links.txt +0 -0
  69. {aind_data_schema_models-2.2.0 → aind_data_schema_models-2.3.0}/src/aind_data_schema_models.egg-info/requires.txt +0 -0
  70. {aind_data_schema_models-2.2.0 → aind_data_schema_models-2.3.0}/src/aind_data_schema_models.egg-info/top_level.txt +0 -0
  71. {aind_data_schema_models-2.2.0 → aind_data_schema_models-2.3.0}/tests/__init__.py +0 -0
  72. {aind_data_schema_models-2.2.0 → aind_data_schema_models-2.3.0}/tests/resources/harp_types.csv +0 -0
  73. {aind_data_schema_models-2.2.0 → aind_data_schema_models-2.3.0}/tests/test_data_name_patterns.py +0 -0
  74. {aind_data_schema_models-2.2.0 → aind_data_schema_models-2.3.0}/tests/test_dev_utils.py +0 -0
  75. {aind_data_schema_models-2.2.0 → aind_data_schema_models-2.3.0}/tests/test_generator.py +0 -0
  76. {aind_data_schema_models-2.2.0 → aind_data_schema_models-2.3.0}/tests/test_modalities.py +0 -0
  77. {aind_data_schema_models-2.2.0 → aind_data_schema_models-2.3.0}/tests/test_models.py +0 -0
  78. {aind_data_schema_models-2.2.0 → aind_data_schema_models-2.3.0}/tests/test_mouse_anatomy.py +0 -0
  79. {aind_data_schema_models-2.2.0 → aind_data_schema_models-2.3.0}/tests/test_organizations.py +0 -0
  80. {aind_data_schema_models-2.2.0 → aind_data_schema_models-2.3.0}/tests/test_pid_names.py +0 -0
  81. {aind_data_schema_models-2.2.0 → aind_data_schema_models-2.3.0}/tests/test_process_names.py +0 -0
  82. {aind_data_schema_models-2.2.0 → aind_data_schema_models-2.3.0}/tests/test_specimen_procedure_types.py +0 -0
  83. {aind_data_schema_models-2.2.0 → aind_data_schema_models-2.3.0}/tests/test_system_architecture.py +0 -0
  84. {aind_data_schema_models-2.2.0 → aind_data_schema_models-2.3.0}/tests/test_units.py +0 -0
  85. {aind_data_schema_models-2.2.0 → aind_data_schema_models-2.3.0}/tests/test_utils.py +0 -0
@@ -0,0 +1,72 @@
1
+ Metadata-Version: 2.2
2
+ Name: aind-data-schema-models
3
+ Version: 2.3.0
4
+ Summary: Generated from aind-library-template
5
+ Author: Allen Institute for Neural Dynamics
6
+ License: MIT
7
+ Classifier: Programming Language :: Python :: 3
8
+ Requires-Python: >=3.10
9
+ Description-Content-Type: text/markdown
10
+ License-File: LICENSE
11
+ Requires-Dist: pydantic>=2.7
12
+ Requires-Dist: importlib-resources
13
+ Requires-Dist: requests
14
+ Provides-Extra: dev
15
+ Requires-Dist: codespell; extra == "dev"
16
+ Requires-Dist: black; extra == "dev"
17
+ Requires-Dist: coverage; extra == "dev"
18
+ Requires-Dist: flake8; extra == "dev"
19
+ Requires-Dist: interrogate; extra == "dev"
20
+ Requires-Dist: isort; extra == "dev"
21
+ Requires-Dist: Sphinx; extra == "dev"
22
+ Requires-Dist: furo; extra == "dev"
23
+ Requires-Dist: aind-flake8-extensions==0.5.2; extra == "dev"
24
+ Requires-Dist: jinja2; extra == "dev"
25
+ Requires-Dist: pandas; extra == "dev"
26
+ Provides-Extra: build
27
+ Requires-Dist: aind-data-access-api[docdb]; extra == "build"
28
+
29
+ # aind-data-schema-models
30
+
31
+ [![License](https://img.shields.io/badge/license-MIT-brightgreen)](LICENSE)
32
+ ![Code Style](https://img.shields.io/badge/code%20style-black-black)
33
+ [![semantic-release: angular](https://img.shields.io/badge/semantic--release-angular-e10079?logo=semantic-release)](https://github.com/semantic-release/semantic-release)
34
+ ![Interrogate](https://img.shields.io/badge/interrogate-100.0%25-brightgreen)
35
+ ![Coverage](https://img.shields.io/badge/coverage-100%25-brightgreen?logo=codecov)
36
+ ![Python](https://img.shields.io/badge/python->=3.10-blue?logo=python)
37
+
38
+ ## Installation
39
+ To install from pypi, run
40
+ ```bash
41
+ pip install aind-data-schema-models
42
+ ```
43
+
44
+ To install from source, in the root directory, run
45
+ ```bash
46
+ pip install -e .
47
+ ```
48
+
49
+ To develop the code, run
50
+ ```bash
51
+ pip install -e .[dev]
52
+ ```
53
+
54
+ ## Contributing
55
+
56
+ ### How to add a new model class
57
+
58
+ #### tl;dr
59
+
60
+ Add new classes to the `_generators/models/*.csv` files.
61
+
62
+ Run `./run_all.sh` in the top-level folder.
63
+
64
+ #### Details
65
+
66
+ The model class files, `brain_atlas.py` etc, are auto-generated. **You should never need to modify the class files directly.**
67
+
68
+ Instead, take a look at the `jinja2` templates in the folder `_generators/templates`. The filename of the template is used to pull the corresponding `.csv` file and populate the `data` DataFrame. In the template you can pull data from the various columns and use them to populate each of the fields in your class.
69
+
70
+ To re-build all the models, run the `run_all.sh` bash script in the root folder, which loops through the template files and runs them through the `generate_code` function.
71
+
72
+ There are a few special cases, e.g. if data are missing in columns they will show up as `float: nan`. See the `organizations.txt` template for examples of how to handle this.
@@ -0,0 +1,44 @@
1
+ # aind-data-schema-models
2
+
3
+ [![License](https://img.shields.io/badge/license-MIT-brightgreen)](LICENSE)
4
+ ![Code Style](https://img.shields.io/badge/code%20style-black-black)
5
+ [![semantic-release: angular](https://img.shields.io/badge/semantic--release-angular-e10079?logo=semantic-release)](https://github.com/semantic-release/semantic-release)
6
+ ![Interrogate](https://img.shields.io/badge/interrogate-100.0%25-brightgreen)
7
+ ![Coverage](https://img.shields.io/badge/coverage-100%25-brightgreen?logo=codecov)
8
+ ![Python](https://img.shields.io/badge/python->=3.10-blue?logo=python)
9
+
10
+ ## Installation
11
+ To install from pypi, run
12
+ ```bash
13
+ pip install aind-data-schema-models
14
+ ```
15
+
16
+ To install from source, in the root directory, run
17
+ ```bash
18
+ pip install -e .
19
+ ```
20
+
21
+ To develop the code, run
22
+ ```bash
23
+ pip install -e .[dev]
24
+ ```
25
+
26
+ ## Contributing
27
+
28
+ ### How to add a new model class
29
+
30
+ #### tl;dr
31
+
32
+ Add new classes to the `_generators/models/*.csv` files.
33
+
34
+ Run `./run_all.sh` in the top-level folder.
35
+
36
+ #### Details
37
+
38
+ The model class files, `brain_atlas.py` etc, are auto-generated. **You should never need to modify the class files directly.**
39
+
40
+ Instead, take a look at the `jinja2` templates in the folder `_generators/templates`. The filename of the template is used to pull the corresponding `.csv` file and populate the `data` DataFrame. In the template you can pull data from the various columns and use them to populate each of the fields in your class.
41
+
42
+ To re-build all the models, run the `run_all.sh` bash script in the root folder, which loops through the template files and runs them through the `generate_code` function.
43
+
44
+ There are a few special cases, e.g. if data are missing in columns they will show up as `float: nan`. See the `organizations.txt` template for examples of how to handle this.
@@ -0,0 +1,3 @@
1
+ """Init package"""
2
+
3
+ __version__ = "2.3.0"
@@ -173,3 +173,9 @@ class MouseBloodVessels(metaclass=MouseAnatomyMeta):
173
173
 
174
174
  CAROTID_ARTERY = "carotid artery"
175
175
  JUGULAR_VEIN = "jugular vein"
176
+
177
+ class InjectionTargets(metaclass=MouseAnatomyMeta):
178
+ """ Common injection targets """
179
+
180
+ VENOUS_SINUS = "venous sinus"
181
+ PERITONEAL_CAVITY = "peritoneal cavity"
@@ -8398,3 +8398,10 @@ class MouseBloodVessels(metaclass=MouseAnatomyMeta):
8398
8398
 
8399
8399
  CAROTID_ARTERY = "carotid artery"
8400
8400
  JUGULAR_VEIN = "jugular vein"
8401
+
8402
+
8403
+ class InjectionTargets(metaclass=MouseAnatomyMeta):
8404
+ """Common injection targets"""
8405
+
8406
+ VENOUS_SINUS = "venous sinus"
8407
+ PERITONEAL_CAVITY = "peritoneal cavity"
@@ -0,0 +1,72 @@
1
+ Metadata-Version: 2.2
2
+ Name: aind-data-schema-models
3
+ Version: 2.3.0
4
+ Summary: Generated from aind-library-template
5
+ Author: Allen Institute for Neural Dynamics
6
+ License: MIT
7
+ Classifier: Programming Language :: Python :: 3
8
+ Requires-Python: >=3.10
9
+ Description-Content-Type: text/markdown
10
+ License-File: LICENSE
11
+ Requires-Dist: pydantic>=2.7
12
+ Requires-Dist: importlib-resources
13
+ Requires-Dist: requests
14
+ Provides-Extra: dev
15
+ Requires-Dist: codespell; extra == "dev"
16
+ Requires-Dist: black; extra == "dev"
17
+ Requires-Dist: coverage; extra == "dev"
18
+ Requires-Dist: flake8; extra == "dev"
19
+ Requires-Dist: interrogate; extra == "dev"
20
+ Requires-Dist: isort; extra == "dev"
21
+ Requires-Dist: Sphinx; extra == "dev"
22
+ Requires-Dist: furo; extra == "dev"
23
+ Requires-Dist: aind-flake8-extensions==0.5.2; extra == "dev"
24
+ Requires-Dist: jinja2; extra == "dev"
25
+ Requires-Dist: pandas; extra == "dev"
26
+ Provides-Extra: build
27
+ Requires-Dist: aind-data-access-api[docdb]; extra == "build"
28
+
29
+ # aind-data-schema-models
30
+
31
+ [![License](https://img.shields.io/badge/license-MIT-brightgreen)](LICENSE)
32
+ ![Code Style](https://img.shields.io/badge/code%20style-black-black)
33
+ [![semantic-release: angular](https://img.shields.io/badge/semantic--release-angular-e10079?logo=semantic-release)](https://github.com/semantic-release/semantic-release)
34
+ ![Interrogate](https://img.shields.io/badge/interrogate-100.0%25-brightgreen)
35
+ ![Coverage](https://img.shields.io/badge/coverage-100%25-brightgreen?logo=codecov)
36
+ ![Python](https://img.shields.io/badge/python->=3.10-blue?logo=python)
37
+
38
+ ## Installation
39
+ To install from pypi, run
40
+ ```bash
41
+ pip install aind-data-schema-models
42
+ ```
43
+
44
+ To install from source, in the root directory, run
45
+ ```bash
46
+ pip install -e .
47
+ ```
48
+
49
+ To develop the code, run
50
+ ```bash
51
+ pip install -e .[dev]
52
+ ```
53
+
54
+ ## Contributing
55
+
56
+ ### How to add a new model class
57
+
58
+ #### tl;dr
59
+
60
+ Add new classes to the `_generators/models/*.csv` files.
61
+
62
+ Run `./run_all.sh` in the top-level folder.
63
+
64
+ #### Details
65
+
66
+ The model class files, `brain_atlas.py` etc, are auto-generated. **You should never need to modify the class files directly.**
67
+
68
+ Instead, take a look at the `jinja2` templates in the folder `_generators/templates`. The filename of the template is used to pull the corresponding `.csv` file and populate the `data` DataFrame. In the template you can pull data from the various columns and use them to populate each of the fields in your class.
69
+
70
+ To re-build all the models, run the `run_all.sh` bash script in the root folder, which loops through the template files and runs them through the `generate_code` function.
71
+
72
+ There are a few special cases, e.g. if data are missing in columns they will show up as `float: nan`. See the `organizations.txt` template for examples of how to handle this.
@@ -1,134 +0,0 @@
1
- Metadata-Version: 2.2
2
- Name: aind-data-schema-models
3
- Version: 2.2.0
4
- Summary: Generated from aind-library-template
5
- Author: Allen Institute for Neural Dynamics
6
- License: MIT
7
- Classifier: Programming Language :: Python :: 3
8
- Requires-Python: >=3.10
9
- Description-Content-Type: text/markdown
10
- License-File: LICENSE
11
- Requires-Dist: pydantic>=2.7
12
- Requires-Dist: importlib-resources
13
- Requires-Dist: requests
14
- Provides-Extra: dev
15
- Requires-Dist: codespell; extra == "dev"
16
- Requires-Dist: black; extra == "dev"
17
- Requires-Dist: coverage; extra == "dev"
18
- Requires-Dist: flake8; extra == "dev"
19
- Requires-Dist: interrogate; extra == "dev"
20
- Requires-Dist: isort; extra == "dev"
21
- Requires-Dist: Sphinx; extra == "dev"
22
- Requires-Dist: furo; extra == "dev"
23
- Requires-Dist: aind-flake8-extensions==0.5.2; extra == "dev"
24
- Requires-Dist: jinja2; extra == "dev"
25
- Requires-Dist: pandas; extra == "dev"
26
- Provides-Extra: build
27
- Requires-Dist: aind-data-access-api[docdb]; extra == "build"
28
-
29
- # aind-data-schema-models
30
-
31
- [![License](https://img.shields.io/badge/license-MIT-brightgreen)](LICENSE)
32
- ![Code Style](https://img.shields.io/badge/code%20style-black-black)
33
- [![semantic-release: angular](https://img.shields.io/badge/semantic--release-angular-e10079?logo=semantic-release)](https://github.com/semantic-release/semantic-release)
34
- ![Interrogate](https://img.shields.io/badge/interrogate-100.0%25-brightgreen)
35
- ![Coverage](https://img.shields.io/badge/coverage-100%25-brightgreen?logo=codecov)
36
- ![Python](https://img.shields.io/badge/python->=3.10-blue?logo=python)
37
-
38
- ## Installation
39
- To install from pypi, run
40
- ```bash
41
- pip install aind-data-schema-models
42
- ```
43
-
44
- To install from source, in the root directory, run
45
- ```bash
46
- pip install -e .
47
- ```
48
-
49
- To develop the code, run
50
- ```bash
51
- pip install -e .[dev]
52
- ```
53
-
54
- ## Contributing
55
-
56
- ### How to add a new model class
57
-
58
- The model class files, `brain_atlas.py` etc, are auto-generated. **You should never need to modify the class files directly.**
59
-
60
- Instead, take a look at the `jinja2` templates in the folder `_generators/templates`. The filename of the template is used to pull the corresponding `.csv` file and populate the `data` DataFrame. In the template you can pull data from the various columns and use them to populate each of the fields in your class.
61
-
62
- To re-build all the models, run the `run_all.sh` bash script in the root folder, which loops through the template files and runs them through the `generate_code` function.
63
-
64
- There are a few special cases, e.g. if data are missing in columns they will show up as `float: nan`. See the `organizations.txt` template for examples of how to handle this.
65
-
66
- ### Linters and testing
67
-
68
- There are several libraries used to run linters, check documentation, and run tests.
69
-
70
- - Please test your changes using the **coverage** library, which will run the tests and log a coverage report:
71
-
72
- ```bash
73
- coverage run -m unittest discover && coverage report
74
- ```
75
-
76
- - Use **interrogate** to check that modules, methods, etc. have been documented thoroughly:
77
-
78
- ```bash
79
- interrogate .
80
- ```
81
-
82
- - Use **flake8** to check that code is up to standards (no unused imports, etc.):
83
- ```bash
84
- flake8 .
85
- ```
86
-
87
- - Use **black** to automatically format the code into PEP standards:
88
- ```bash
89
- black .
90
- ```
91
-
92
- - Use **isort** to automatically sort import statements:
93
- ```bash
94
- isort .
95
- ```
96
-
97
- ### Pull requests
98
-
99
- For internal members, please create a branch. For external members, please fork the repository and open a pull request from the fork. We'll primarily use [Angular](https://github.com/angular/angular/blob/main/CONTRIBUTING.md#commit) style for commit messages. Roughly, they should follow the pattern:
100
- ```text
101
- <type>(<scope>): <short summary>
102
- ```
103
-
104
- where scope (optional) describes the packages affected by the code changes and type (mandatory) is one of:
105
-
106
- - **build**: Changes that affect build tools or external dependencies (example scopes: pyproject.toml, setup.py)
107
- - **ci**: Changes to our CI configuration files and scripts (examples: .github/workflows/ci.yml)
108
- - **docs**: Documentation only changes
109
- - **feat**: A new feature
110
- - **fix**: A bugfix
111
- - **perf**: A code change that improves performance
112
- - **refactor**: A code change that neither fixes a bug nor adds a feature
113
- - **test**: Adding missing tests or correcting existing tests
114
-
115
- ### Semantic Release
116
-
117
- The table below, from [semantic release](https://github.com/semantic-release/semantic-release), shows which commit message gets you which release type when `semantic-release` runs (using the default configuration):
118
-
119
- | Commit message | Release type |
120
- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------- |
121
- | `fix(pencil): stop graphite breaking when too much pressure applied` | ~~Patch~~ Fix Release, Default release |
122
- | `feat(pencil): add 'graphiteWidth' option` | ~~Minor~~ Feature Release |
123
- | `perf(pencil): remove graphiteWidth option`<br><br>`BREAKING CHANGE: The graphiteWidth option has been removed.`<br>`The default graphite width of 10mm is always used for performance reasons.` | ~~Major~~ Breaking Release <br /> (Note that the `BREAKING CHANGE: ` token must be in the footer of the commit) |
124
-
125
- ### Documentation
126
- To generate the rst files source files for documentation, run
127
- ```bash
128
- sphinx-apidoc -o doc_template/source/ src
129
- ```
130
- Then to create the documentation HTML files, run
131
- ```bash
132
- sphinx-build -b html doc_template/source/ doc_template/build/html
133
- ```
134
- More info on sphinx installation can be found [here](https://www.sphinx-doc.org/en/master/usage/installation.html).
@@ -1,106 +0,0 @@
1
- # aind-data-schema-models
2
-
3
- [![License](https://img.shields.io/badge/license-MIT-brightgreen)](LICENSE)
4
- ![Code Style](https://img.shields.io/badge/code%20style-black-black)
5
- [![semantic-release: angular](https://img.shields.io/badge/semantic--release-angular-e10079?logo=semantic-release)](https://github.com/semantic-release/semantic-release)
6
- ![Interrogate](https://img.shields.io/badge/interrogate-100.0%25-brightgreen)
7
- ![Coverage](https://img.shields.io/badge/coverage-100%25-brightgreen?logo=codecov)
8
- ![Python](https://img.shields.io/badge/python->=3.10-blue?logo=python)
9
-
10
- ## Installation
11
- To install from pypi, run
12
- ```bash
13
- pip install aind-data-schema-models
14
- ```
15
-
16
- To install from source, in the root directory, run
17
- ```bash
18
- pip install -e .
19
- ```
20
-
21
- To develop the code, run
22
- ```bash
23
- pip install -e .[dev]
24
- ```
25
-
26
- ## Contributing
27
-
28
- ### How to add a new model class
29
-
30
- The model class files, `brain_atlas.py` etc, are auto-generated. **You should never need to modify the class files directly.**
31
-
32
- Instead, take a look at the `jinja2` templates in the folder `_generators/templates`. The filename of the template is used to pull the corresponding `.csv` file and populate the `data` DataFrame. In the template you can pull data from the various columns and use them to populate each of the fields in your class.
33
-
34
- To re-build all the models, run the `run_all.sh` bash script in the root folder, which loops through the template files and runs them through the `generate_code` function.
35
-
36
- There are a few special cases, e.g. if data are missing in columns they will show up as `float: nan`. See the `organizations.txt` template for examples of how to handle this.
37
-
38
- ### Linters and testing
39
-
40
- There are several libraries used to run linters, check documentation, and run tests.
41
-
42
- - Please test your changes using the **coverage** library, which will run the tests and log a coverage report:
43
-
44
- ```bash
45
- coverage run -m unittest discover && coverage report
46
- ```
47
-
48
- - Use **interrogate** to check that modules, methods, etc. have been documented thoroughly:
49
-
50
- ```bash
51
- interrogate .
52
- ```
53
-
54
- - Use **flake8** to check that code is up to standards (no unused imports, etc.):
55
- ```bash
56
- flake8 .
57
- ```
58
-
59
- - Use **black** to automatically format the code into PEP standards:
60
- ```bash
61
- black .
62
- ```
63
-
64
- - Use **isort** to automatically sort import statements:
65
- ```bash
66
- isort .
67
- ```
68
-
69
- ### Pull requests
70
-
71
- For internal members, please create a branch. For external members, please fork the repository and open a pull request from the fork. We'll primarily use [Angular](https://github.com/angular/angular/blob/main/CONTRIBUTING.md#commit) style for commit messages. Roughly, they should follow the pattern:
72
- ```text
73
- <type>(<scope>): <short summary>
74
- ```
75
-
76
- where scope (optional) describes the packages affected by the code changes and type (mandatory) is one of:
77
-
78
- - **build**: Changes that affect build tools or external dependencies (example scopes: pyproject.toml, setup.py)
79
- - **ci**: Changes to our CI configuration files and scripts (examples: .github/workflows/ci.yml)
80
- - **docs**: Documentation only changes
81
- - **feat**: A new feature
82
- - **fix**: A bugfix
83
- - **perf**: A code change that improves performance
84
- - **refactor**: A code change that neither fixes a bug nor adds a feature
85
- - **test**: Adding missing tests or correcting existing tests
86
-
87
- ### Semantic Release
88
-
89
- The table below, from [semantic release](https://github.com/semantic-release/semantic-release), shows which commit message gets you which release type when `semantic-release` runs (using the default configuration):
90
-
91
- | Commit message | Release type |
92
- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------- |
93
- | `fix(pencil): stop graphite breaking when too much pressure applied` | ~~Patch~~ Fix Release, Default release |
94
- | `feat(pencil): add 'graphiteWidth' option` | ~~Minor~~ Feature Release |
95
- | `perf(pencil): remove graphiteWidth option`<br><br>`BREAKING CHANGE: The graphiteWidth option has been removed.`<br>`The default graphite width of 10mm is always used for performance reasons.` | ~~Major~~ Breaking Release <br /> (Note that the `BREAKING CHANGE: ` token must be in the footer of the commit) |
96
-
97
- ### Documentation
98
- To generate the rst files source files for documentation, run
99
- ```bash
100
- sphinx-apidoc -o doc_template/source/ src
101
- ```
102
- Then to create the documentation HTML files, run
103
- ```bash
104
- sphinx-build -b html doc_template/source/ doc_template/build/html
105
- ```
106
- More info on sphinx installation can be found [here](https://www.sphinx-doc.org/en/master/usage/installation.html).
@@ -1,3 +0,0 @@
1
- """Init package"""
2
-
3
- __version__ = "2.2.0"
@@ -1,134 +0,0 @@
1
- Metadata-Version: 2.2
2
- Name: aind-data-schema-models
3
- Version: 2.2.0
4
- Summary: Generated from aind-library-template
5
- Author: Allen Institute for Neural Dynamics
6
- License: MIT
7
- Classifier: Programming Language :: Python :: 3
8
- Requires-Python: >=3.10
9
- Description-Content-Type: text/markdown
10
- License-File: LICENSE
11
- Requires-Dist: pydantic>=2.7
12
- Requires-Dist: importlib-resources
13
- Requires-Dist: requests
14
- Provides-Extra: dev
15
- Requires-Dist: codespell; extra == "dev"
16
- Requires-Dist: black; extra == "dev"
17
- Requires-Dist: coverage; extra == "dev"
18
- Requires-Dist: flake8; extra == "dev"
19
- Requires-Dist: interrogate; extra == "dev"
20
- Requires-Dist: isort; extra == "dev"
21
- Requires-Dist: Sphinx; extra == "dev"
22
- Requires-Dist: furo; extra == "dev"
23
- Requires-Dist: aind-flake8-extensions==0.5.2; extra == "dev"
24
- Requires-Dist: jinja2; extra == "dev"
25
- Requires-Dist: pandas; extra == "dev"
26
- Provides-Extra: build
27
- Requires-Dist: aind-data-access-api[docdb]; extra == "build"
28
-
29
- # aind-data-schema-models
30
-
31
- [![License](https://img.shields.io/badge/license-MIT-brightgreen)](LICENSE)
32
- ![Code Style](https://img.shields.io/badge/code%20style-black-black)
33
- [![semantic-release: angular](https://img.shields.io/badge/semantic--release-angular-e10079?logo=semantic-release)](https://github.com/semantic-release/semantic-release)
34
- ![Interrogate](https://img.shields.io/badge/interrogate-100.0%25-brightgreen)
35
- ![Coverage](https://img.shields.io/badge/coverage-100%25-brightgreen?logo=codecov)
36
- ![Python](https://img.shields.io/badge/python->=3.10-blue?logo=python)
37
-
38
- ## Installation
39
- To install from pypi, run
40
- ```bash
41
- pip install aind-data-schema-models
42
- ```
43
-
44
- To install from source, in the root directory, run
45
- ```bash
46
- pip install -e .
47
- ```
48
-
49
- To develop the code, run
50
- ```bash
51
- pip install -e .[dev]
52
- ```
53
-
54
- ## Contributing
55
-
56
- ### How to add a new model class
57
-
58
- The model class files, `brain_atlas.py` etc, are auto-generated. **You should never need to modify the class files directly.**
59
-
60
- Instead, take a look at the `jinja2` templates in the folder `_generators/templates`. The filename of the template is used to pull the corresponding `.csv` file and populate the `data` DataFrame. In the template you can pull data from the various columns and use them to populate each of the fields in your class.
61
-
62
- To re-build all the models, run the `run_all.sh` bash script in the root folder, which loops through the template files and runs them through the `generate_code` function.
63
-
64
- There are a few special cases, e.g. if data are missing in columns they will show up as `float: nan`. See the `organizations.txt` template for examples of how to handle this.
65
-
66
- ### Linters and testing
67
-
68
- There are several libraries used to run linters, check documentation, and run tests.
69
-
70
- - Please test your changes using the **coverage** library, which will run the tests and log a coverage report:
71
-
72
- ```bash
73
- coverage run -m unittest discover && coverage report
74
- ```
75
-
76
- - Use **interrogate** to check that modules, methods, etc. have been documented thoroughly:
77
-
78
- ```bash
79
- interrogate .
80
- ```
81
-
82
- - Use **flake8** to check that code is up to standards (no unused imports, etc.):
83
- ```bash
84
- flake8 .
85
- ```
86
-
87
- - Use **black** to automatically format the code into PEP standards:
88
- ```bash
89
- black .
90
- ```
91
-
92
- - Use **isort** to automatically sort import statements:
93
- ```bash
94
- isort .
95
- ```
96
-
97
- ### Pull requests
98
-
99
- For internal members, please create a branch. For external members, please fork the repository and open a pull request from the fork. We'll primarily use [Angular](https://github.com/angular/angular/blob/main/CONTRIBUTING.md#commit) style for commit messages. Roughly, they should follow the pattern:
100
- ```text
101
- <type>(<scope>): <short summary>
102
- ```
103
-
104
- where scope (optional) describes the packages affected by the code changes and type (mandatory) is one of:
105
-
106
- - **build**: Changes that affect build tools or external dependencies (example scopes: pyproject.toml, setup.py)
107
- - **ci**: Changes to our CI configuration files and scripts (examples: .github/workflows/ci.yml)
108
- - **docs**: Documentation only changes
109
- - **feat**: A new feature
110
- - **fix**: A bugfix
111
- - **perf**: A code change that improves performance
112
- - **refactor**: A code change that neither fixes a bug nor adds a feature
113
- - **test**: Adding missing tests or correcting existing tests
114
-
115
- ### Semantic Release
116
-
117
- The table below, from [semantic release](https://github.com/semantic-release/semantic-release), shows which commit message gets you which release type when `semantic-release` runs (using the default configuration):
118
-
119
- | Commit message | Release type |
120
- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------- |
121
- | `fix(pencil): stop graphite breaking when too much pressure applied` | ~~Patch~~ Fix Release, Default release |
122
- | `feat(pencil): add 'graphiteWidth' option` | ~~Minor~~ Feature Release |
123
- | `perf(pencil): remove graphiteWidth option`<br><br>`BREAKING CHANGE: The graphiteWidth option has been removed.`<br>`The default graphite width of 10mm is always used for performance reasons.` | ~~Major~~ Breaking Release <br /> (Note that the `BREAKING CHANGE: ` token must be in the footer of the commit) |
124
-
125
- ### Documentation
126
- To generate the rst files source files for documentation, run
127
- ```bash
128
- sphinx-apidoc -o doc_template/source/ src
129
- ```
130
- Then to create the documentation HTML files, run
131
- ```bash
132
- sphinx-build -b html doc_template/source/ doc_template/build/html
133
- ```
134
- More info on sphinx installation can be found [here](https://www.sphinx-doc.org/en/master/usage/installation.html).