mat3ra-code 2024.3.21.post0__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 (112) hide show
  1. mat3ra-code-2024.3.21.post0/.babelrc +18 -0
  2. mat3ra-code-2024.3.21.post0/.eslintignore +3 -0
  3. mat3ra-code-2024.3.21.post0/.eslintrc.json +4 -0
  4. mat3ra-code-2024.3.21.post0/.github/workflows/cicd.yml +185 -0
  5. mat3ra-code-2024.3.21.post0/.gitignore +178 -0
  6. mat3ra-code-2024.3.21.post0/.husky/pre-commit +6 -0
  7. mat3ra-code-2024.3.21.post0/.mocharc.json +5 -0
  8. mat3ra-code-2024.3.21.post0/.nycrc +7 -0
  9. mat3ra-code-2024.3.21.post0/.pre-commit-config.yaml +19 -0
  10. mat3ra-code-2024.3.21.post0/.prettierrc +7 -0
  11. mat3ra-code-2024.3.21.post0/LICENSE.md +15 -0
  12. mat3ra-code-2024.3.21.post0/PKG-INFO +89 -0
  13. mat3ra-code-2024.3.21.post0/README.md +49 -0
  14. mat3ra-code-2024.3.21.post0/package-lock.json +7042 -0
  15. mat3ra-code-2024.3.21.post0/package.json +115 -0
  16. mat3ra-code-2024.3.21.post0/pyproject.toml +77 -0
  17. mat3ra-code-2024.3.21.post0/setup.cfg +4 -0
  18. mat3ra-code-2024.3.21.post0/src/js/constants.js +39 -0
  19. mat3ra-code-2024.3.21.post0/src/js/context/index.ts +34 -0
  20. mat3ra-code-2024.3.21.post0/src/js/context/json_schema_provider.ts +68 -0
  21. mat3ra-code-2024.3.21.post0/src/js/context/mixins.ts +235 -0
  22. mat3ra-code-2024.3.21.post0/src/js/context/pickers.js +13 -0
  23. mat3ra-code-2024.3.21.post0/src/js/context/provider.ts +149 -0
  24. mat3ra-code-2024.3.21.post0/src/js/context/registry.js +95 -0
  25. mat3ra-code-2024.3.21.post0/src/js/entity/in_memory.ts +230 -0
  26. mat3ra-code-2024.3.21.post0/src/js/entity/index.ts +67 -0
  27. mat3ra-code-2024.3.21.post0/src/js/entity/mixins/context.ts +106 -0
  28. mat3ra-code-2024.3.21.post0/src/js/entity/mixins/context_runtime.ts +37 -0
  29. mat3ra-code-2024.3.21.post0/src/js/entity/mixins/flowchart.ts +83 -0
  30. mat3ra-code-2024.3.21.post0/src/js/entity/mixins/hash.ts +43 -0
  31. mat3ra-code-2024.3.21.post0/src/js/entity/mixins/props.ts +117 -0
  32. mat3ra-code-2024.3.21.post0/src/js/entity/mixins/repetition.ts +50 -0
  33. mat3ra-code-2024.3.21.post0/src/js/entity/mixins/runtime_items.ts +213 -0
  34. mat3ra-code-2024.3.21.post0/src/js/entity/other.ts +46 -0
  35. mat3ra-code-2024.3.21.post0/src/js/entity/set/enums.ts +4 -0
  36. mat3ra-code-2024.3.21.post0/src/js/entity/set/factory.ts +17 -0
  37. mat3ra-code-2024.3.21.post0/src/js/entity/set/mixins.ts +35 -0
  38. mat3ra-code-2024.3.21.post0/src/js/entity/set/ordered/mixins.ts +34 -0
  39. mat3ra-code-2024.3.21.post0/src/js/entity/set/ordered/utils.ts +26 -0
  40. mat3ra-code-2024.3.21.post0/src/js/entity/set/ordered.ts +6 -0
  41. mat3ra-code-2024.3.21.post0/src/js/entity/set/selectors.ts +43 -0
  42. mat3ra-code-2024.3.21.post0/src/js/entity/set.ts +29 -0
  43. mat3ra-code-2024.3.21.post0/src/js/index.ts +9 -0
  44. mat3ra-code-2024.3.21.post0/src/js/math.ts +255 -0
  45. mat3ra-code-2024.3.21.post0/src/js/utils/array.js +27 -0
  46. mat3ra-code-2024.3.21.post0/src/js/utils/class.js +76 -0
  47. mat3ra-code-2024.3.21.post0/src/js/utils/clone.js +8 -0
  48. mat3ra-code-2024.3.21.post0/src/js/utils/codemirror.ts +8 -0
  49. mat3ra-code-2024.3.21.post0/src/js/utils/file.js +78 -0
  50. mat3ra-code-2024.3.21.post0/src/js/utils/filter.ts +73 -0
  51. mat3ra-code-2024.3.21.post0/src/js/utils/github.js +38 -0
  52. mat3ra-code-2024.3.21.post0/src/js/utils/graph.ts +73 -0
  53. mat3ra-code-2024.3.21.post0/src/js/utils/hash.ts +31 -0
  54. mat3ra-code-2024.3.21.post0/src/js/utils/index.ts +97 -0
  55. mat3ra-code-2024.3.21.post0/src/js/utils/object.ts +261 -0
  56. mat3ra-code-2024.3.21.post0/src/js/utils/schemas.ts +269 -0
  57. mat3ra-code-2024.3.21.post0/src/js/utils/selector.js +20 -0
  58. mat3ra-code-2024.3.21.post0/src/js/utils/str.js +152 -0
  59. mat3ra-code-2024.3.21.post0/src/js/utils/tree.js +16 -0
  60. mat3ra-code-2024.3.21.post0/src/js/utils/url.js +9 -0
  61. mat3ra-code-2024.3.21.post0/src/js/utils/uuid.js +5 -0
  62. mat3ra-code-2024.3.21.post0/src/js/utils/yaml.ts +283 -0
  63. mat3ra-code-2024.3.21.post0/src/py/__init__.py +0 -0
  64. mat3ra-code-2024.3.21.post0/src/py/mat3ra/__init__.py +0 -0
  65. mat3ra-code-2024.3.21.post0/src/py/mat3ra/code/__init__.py +5 -0
  66. mat3ra-code-2024.3.21.post0/src/py/mat3ra_code.egg-info/PKG-INFO +89 -0
  67. mat3ra-code-2024.3.21.post0/src/py/mat3ra_code.egg-info/SOURCES.txt +110 -0
  68. mat3ra-code-2024.3.21.post0/src/py/mat3ra_code.egg-info/dependency_links.txt +1 -0
  69. mat3ra-code-2024.3.21.post0/src/py/mat3ra_code.egg-info/requires.txt +13 -0
  70. mat3ra-code-2024.3.21.post0/src/py/mat3ra_code.egg-info/top_level.txt +1 -0
  71. mat3ra-code-2024.3.21.post0/tests/js/context.tests.ts +102 -0
  72. mat3ra-code-2024.3.21.post0/tests/js/enums.ts +11 -0
  73. mat3ra-code-2024.3.21.post0/tests/js/fixtures/json/example/1.json +12 -0
  74. mat3ra-code-2024.3.21.post0/tests/js/fixtures/json/example/2.json +6 -0
  75. mat3ra-code-2024.3.21.post0/tests/js/fixtures/json/example/3.json +16 -0
  76. mat3ra-code-2024.3.21.post0/tests/js/fixtures/json/example/4.json +13 -0
  77. mat3ra-code-2024.3.21.post0/tests/js/fixtures/json/example/5.json +42 -0
  78. mat3ra-code-2024.3.21.post0/tests/js/fixtures/rjsf_schemas.js +221 -0
  79. mat3ra-code-2024.3.21.post0/tests/js/fixtures/test_content.txt +2 -0
  80. mat3ra-code-2024.3.21.post0/tests/js/fixtures/yaml_combine_tag.yml +145 -0
  81. mat3ra-code-2024.3.21.post0/tests/js/fixtures/yaml_concatString_tag.yml +10 -0
  82. mat3ra-code-2024.3.21.post0/tests/js/fixtures/yaml_esse_tag.yml +14 -0
  83. mat3ra-code-2024.3.21.post0/tests/js/fixtures/yaml_flatten_tag.yml +5 -0
  84. mat3ra-code-2024.3.21.post0/tests/js/fixtures/yaml_include_tag.yml +8 -0
  85. mat3ra-code-2024.3.21.post0/tests/js/fixtures/yaml_listToString_tag.yml +14 -0
  86. mat3ra-code-2024.3.21.post0/tests/js/fixtures/yaml_parameter_ref.yml +2 -0
  87. mat3ra-code-2024.3.21.post0/tests/js/fixtures/yaml_parameter_tag.yml +44 -0
  88. mat3ra-code-2024.3.21.post0/tests/js/fixtures/yaml_readFile_tag.yml +2 -0
  89. mat3ra-code-2024.3.21.post0/tests/js/in_memory.tests.ts +94 -0
  90. mat3ra-code-2024.3.21.post0/tests/js/mixin.flowchart.tests.ts +97 -0
  91. mat3ra-code-2024.3.21.post0/tests/js/provider.tests.ts +25 -0
  92. mat3ra-code-2024.3.21.post0/tests/js/utils/class.tests.ts +118 -0
  93. mat3ra-code-2024.3.21.post0/tests/js/utils/file.tests.ts +11 -0
  94. mat3ra-code-2024.3.21.post0/tests/js/utils/filter.tests.ts +86 -0
  95. mat3ra-code-2024.3.21.post0/tests/js/utils/object.tests.ts +92 -0
  96. mat3ra-code-2024.3.21.post0/tests/js/utils/schemas.tests.ts +139 -0
  97. mat3ra-code-2024.3.21.post0/tests/js/utils/str.tests.ts +93 -0
  98. mat3ra-code-2024.3.21.post0/tests/js/utils/tree.tests.ts +34 -0
  99. mat3ra-code-2024.3.21.post0/tests/js/utils/utils.tests.ts +43 -0
  100. mat3ra-code-2024.3.21.post0/tests/js/utils/yaml.combine.tests.ts +130 -0
  101. mat3ra-code-2024.3.21.post0/tests/js/utils/yaml.concatString.tests.ts +30 -0
  102. mat3ra-code-2024.3.21.post0/tests/js/utils/yaml.esse.tests.ts +57 -0
  103. mat3ra-code-2024.3.21.post0/tests/js/utils/yaml.flatten.tests.ts +18 -0
  104. mat3ra-code-2024.3.21.post0/tests/js/utils/yaml.include.tests.ts +31 -0
  105. mat3ra-code-2024.3.21.post0/tests/js/utils/yaml.listToString.tests.ts +33 -0
  106. mat3ra-code-2024.3.21.post0/tests/js/utils/yaml.parameter.tests.ts +54 -0
  107. mat3ra-code-2024.3.21.post0/tests/js/utils/yaml.readFile.tests.ts +20 -0
  108. mat3ra-code-2024.3.21.post0/tests/js/utils.ts +13 -0
  109. mat3ra-code-2024.3.21.post0/tests/py/__init__.py +0 -0
  110. mat3ra-code-2024.3.21.post0/tests/py/unit/__init__.py +0 -0
  111. mat3ra-code-2024.3.21.post0/tests/py/unit/test_sample.py +10 -0
  112. mat3ra-code-2024.3.21.post0/tsconfig.json +3 -0
@@ -0,0 +1,18 @@
1
+ {
2
+ "presets": [
3
+ [
4
+ "@babel/preset-env",
5
+ {
6
+ "targets": {
7
+ "node": "current"
8
+ }
9
+ }
10
+ ],
11
+ "@babel/preset-react",
12
+ "@babel/preset-typescript"
13
+ ],
14
+ "plugins": [
15
+ "@babel/plugin-proposal-class-properties"
16
+ ]
17
+ }
18
+
@@ -0,0 +1,3 @@
1
+ dist/
2
+ src/py
3
+ test/py
@@ -0,0 +1,4 @@
1
+ {
2
+ "extends": ["@exabyte-io/eslint-config"]
3
+ }
4
+
@@ -0,0 +1,185 @@
1
+ name: Continuous Testing and Publication
2
+
3
+ on: [push]
4
+
5
+ concurrency:
6
+ group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
7
+ cancel-in-progress: true
8
+
9
+ jobs:
10
+ run-py-linter:
11
+ runs-on: ubuntu-20.04
12
+ strategy:
13
+ matrix:
14
+ python-version: [3.8.6]
15
+
16
+ steps:
17
+ - name: Checkout this repository
18
+ uses: actions/checkout@v4
19
+ with:
20
+ lfs: true
21
+
22
+ - name: Checkout actions repository
23
+ uses: actions/checkout@v4
24
+ with:
25
+ repository: Exabyte-io/actions
26
+ token: ${{ secrets.BOT_GITHUB_TOKEN }}
27
+ path: actions
28
+
29
+ - name: Run ruff linter
30
+ uses: ./actions/py/lint
31
+ with:
32
+ python-version: ${{ matrix.python-version }}
33
+
34
+ run-py-tests:
35
+ needs: run-py-linter
36
+ runs-on: ubuntu-20.04
37
+ strategy:
38
+ matrix:
39
+ python-version:
40
+ - 3.8.x
41
+ - 3.9.x
42
+ - 3.10.x
43
+ - 3.11.x
44
+
45
+ steps:
46
+ - name: Checkout this repository
47
+ uses: actions/checkout@v4
48
+ with:
49
+ lfs: true
50
+
51
+ - name: Checkout actions repository
52
+ uses: actions/checkout@v4
53
+ with:
54
+ repository: Exabyte-io/actions
55
+ token: ${{ secrets.BOT_GITHUB_TOKEN }}
56
+ path: actions
57
+
58
+ - name: Run python unit tests
59
+ uses: ./actions/py/test
60
+ with:
61
+ python-version: ${{ matrix.python-version }}
62
+ unit-test-directory: tests/py/unit
63
+ bot-ssh-key: ${{ secrets.BOT_GITHUB_KEY }}
64
+
65
+ run-js-tests:
66
+ runs-on: ubuntu-latest
67
+ strategy:
68
+ matrix:
69
+ node-version:
70
+ - 14.x
71
+ - 20.x
72
+
73
+ steps:
74
+ - name: Checkout this repository
75
+ uses: actions/checkout@v4
76
+ with:
77
+ lfs: true
78
+
79
+ - name: Checkout actions repository
80
+ uses: actions/checkout@v4
81
+ with:
82
+ repository: Exabyte-io/actions
83
+ token: ${{ secrets.BOT_GITHUB_TOKEN }}
84
+ path: actions
85
+
86
+ - name: Run JS validate
87
+ uses: ./actions/js/validate
88
+ with:
89
+ node-version: '14.x'
90
+ skip-eslint: 'true'
91
+
92
+ - name: Run JS tests
93
+ uses: ./actions/js/test
94
+ with:
95
+ node-version: ${{ matrix.node-version }}
96
+
97
+ publish-js-package:
98
+ needs:
99
+ - run-js-tests
100
+ - run-py-tests
101
+ - run-py-linter
102
+ runs-on: ubuntu-latest
103
+ if: (github.repository != 'Exabyte-io/template-definitions-js-py') && (github.ref_name == 'main')
104
+
105
+ steps:
106
+ - name: Checkout this repository
107
+ uses: actions/checkout@v4
108
+
109
+ - name: Checkout actions repository
110
+ uses: actions/checkout@v4
111
+ with:
112
+ repository: Exabyte-io/actions
113
+ token: ${{ secrets.BOT_GITHUB_TOKEN }}
114
+ path: actions
115
+
116
+ - name: Publish JS release
117
+ uses: ./actions/js/publish
118
+ with:
119
+ node-version: 14.19.x
120
+ npm-token: ${{ secrets.NPM_TOKEN }}
121
+ github-token: ${{ secrets.BOT_GITHUB_TOKEN }}
122
+
123
+ publish-py-package:
124
+ needs:
125
+ - run-js-tests
126
+ - run-py-tests
127
+ - run-py-linter
128
+ runs-on: ubuntu-latest
129
+ if: (github.repository != 'Exabyte-io/template-definitions-js-py') && (github.ref_name == 'main')
130
+
131
+ steps:
132
+ - name: Checkout this repository
133
+ uses: actions/checkout@v4
134
+ with:
135
+ lfs: true
136
+
137
+ - name: Checkout actions repository
138
+ uses: actions/checkout@v4
139
+ with:
140
+ repository: Exabyte-io/actions
141
+ token: ${{ secrets.BOT_GITHUB_TOKEN }}
142
+ path: actions
143
+
144
+ - name: Publish python release
145
+ uses: ./actions/py/publish
146
+ with:
147
+ python-version: 3.8.x
148
+ github-token: ${{ secrets.BOT_GITHUB_TOKEN }}
149
+ pypi-api-token: ${{ secrets.PYPI_API_TOKEN }}
150
+ publish-tag: 'false'
151
+
152
+
153
+ # TB disabled on 2024-03-21 as not practically useful at this time
154
+ # create-pr-in-a-dependant:
155
+ # needs: [publish-js-package]
156
+ # runs-on: ubuntu-latest
157
+ # if: (github.repository != 'Exabyte-io/template-definitions') && (github.ref_name == 'main')
158
+ # strategy:
159
+ # matrix:
160
+ # target-repository:
161
+ # - Exabyte-io/ade.js
162
+ # - Exabyte-io/application-flavors
163
+ # - Exabyte-io/ide.js
164
+ # - Exabyte-io/made.js
165
+ # - Exabyte-io/mode.js
166
+ # - Exabyte-io/prode.js
167
+ # - Exabyte-io/wode.js
168
+ # - Exabyte-io/materials-designer
169
+ # - Exabyte-io/web-app
170
+ #
171
+ # steps:
172
+ # - name: Checkout actions repository
173
+ # uses: actions/checkout@v4
174
+ # with:
175
+ # repository: Exabyte-io/actions
176
+ # token: ${{ secrets.BOT_GITHUB_TOKEN }}
177
+ # path: actions
178
+ #
179
+ # - name: Create a PR
180
+ # uses: ./actions/git/pull-request
181
+ # with:
182
+ # github-token: ${{ secrets.BOT_GITHUB_TOKEN }}
183
+ # target-repository: ${{ matrix.target-repository }}
184
+ # source-package-name: "@exabyte-io/code.js"
185
+ # target-version: ${{ needs.publish-js-package.outputs.release-version }}
@@ -0,0 +1,178 @@
1
+ src/types.ts
2
+ .vscode/
3
+
4
+
5
+ # Byte-compiled / optimized / DLL files
6
+ __pycache__/
7
+ *.py[cod]
8
+ *$py.class
9
+
10
+ # C extensions
11
+ *.so
12
+
13
+ # Distribution / packaging
14
+ # "dist" folder is not ignored on purpose to be able to install intermediate changes from github commits
15
+ # dist
16
+ .Python
17
+ build/
18
+ develop-eggs/
19
+ downloads/
20
+ eggs/
21
+ .eggs/
22
+ lib/
23
+ lib64/
24
+ parts/
25
+ sdist/
26
+ var/
27
+ wheels/
28
+ share/python-wheels/
29
+ *.egg-info/
30
+ .installed.cfg
31
+ *.egg
32
+ MANIFEST
33
+
34
+ # PyInstaller
35
+ # Usually these files are written by a python script from a template
36
+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
37
+ *.manifest
38
+ *.spec
39
+
40
+ # Installer logs
41
+ pip-log.txt
42
+ pip-delete-this-directory.txt
43
+
44
+ # Unit test / coverage reports
45
+ htmlcov/
46
+ .tox/
47
+ .nox/
48
+ .coverage
49
+ .coverage.*
50
+ .cache
51
+ nosetests.xml
52
+ coverage.xml
53
+ *.cover
54
+ *.py,cover
55
+ .hypothesis/
56
+ .pytest_cache/
57
+ cover/
58
+
59
+ # Translations
60
+ *.mo
61
+ *.pot
62
+
63
+ # Django stuff:
64
+ *.log
65
+ local_settings.py
66
+ db.sqlite3
67
+ db.sqlite3-journal
68
+
69
+ # Flask stuff:
70
+ instance/
71
+ .webassets-cache
72
+
73
+ # Scrapy stuff:
74
+ .scrapy
75
+
76
+ # Sphinx documentation
77
+ docs/_build/
78
+
79
+ # PyBuilder
80
+ .pybuilder/
81
+ target/
82
+
83
+ # Jupyter Notebook
84
+ .ipynb_checkpoints
85
+
86
+ # IPython
87
+ profile_default/
88
+ ipython_config.py
89
+
90
+ # pyenv
91
+ # For a library or package, you might want to ignore these files since the code is
92
+ # intended to run in multiple environments; otherwise, check them in:
93
+ # .python-version
94
+
95
+ # pipenv
96
+ # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
97
+ # However, in case of collaboration, if having platform-specific dependencies or dependencies
98
+ # having no cross-platform support, pipenv may install dependencies that don't work, or not
99
+ # install all needed dependencies.
100
+ #Pipfile.lock
101
+
102
+ # poetry
103
+ # Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
104
+ # This is especially recommended for binary packages to ensure reproducibility, and is more
105
+ # commonly ignored for libraries.
106
+ # https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
107
+ #poetry.lock
108
+
109
+ # pdm
110
+ # Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
111
+ #pdm.lock
112
+ # pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
113
+ # in version control.
114
+ # https://pdm.fming.dev/#use-with-ide
115
+ .pdm.toml
116
+
117
+ # PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
118
+ __pypackages__/
119
+
120
+ # Celery stuff
121
+ celerybeat-schedule
122
+ celerybeat.pid
123
+
124
+ # SageMath parsed files
125
+ *.sage.py
126
+
127
+ # Environments
128
+ .env
129
+ .venv
130
+ env/
131
+ venv/
132
+ ENV/
133
+ env.bak/
134
+ venv.bak/
135
+
136
+ # Spyder project settings
137
+ .spyderproject
138
+ .spyproject
139
+
140
+ # Rope project settings
141
+ .ropeproject
142
+
143
+ # mkdocs documentation
144
+ /site
145
+
146
+ # mypy
147
+ .mypy_cache/
148
+ .dmypy.json
149
+ dmypy.json
150
+
151
+ # Pyre type checker
152
+ .pyre/
153
+
154
+ # pytype static type analyzer
155
+ .pytype/
156
+
157
+ # Cython debug symbols
158
+ cython_debug/
159
+
160
+ # PyCharm
161
+ # JetBrains specific template is maintained in a separate JetBrains.gitignore that can
162
+ # be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
163
+ # and can be added to the global gitignore or merged into this file. For a more nuclear
164
+ # option (not recommended) you can uncomment the following to ignore the entire idea folder.
165
+ .idea/
166
+
167
+ # Ruff
168
+ .ruff_cache/
169
+
170
+ ########### JAVASCRIPT #############
171
+ node_modules/
172
+ .eslintcache
173
+ .nyc_output/
174
+
175
+ ########### GENERAL #############
176
+ *.DS_Store
177
+
178
+ tsconfig.tsbuildinfo
@@ -0,0 +1,6 @@
1
+ #!/bin/sh
2
+ . "$(dirname "$0")/_/husky.sh"
3
+
4
+ npm run lint:fix
5
+ npm run transpile
6
+ git add dist
@@ -0,0 +1,5 @@
1
+ {
2
+ "extension": ["ts", "js"],
3
+ "spec": "tests/**/*.tests.*",
4
+ "require": "ts-node/register"
5
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "all": true,
3
+ "include": [
4
+ "src/**/*.js",
5
+ "src/**/*.jsx"
6
+ ]
7
+ }
@@ -0,0 +1,19 @@
1
+ repos:
2
+ - repo: https://github.com/Exabyte-io/pre-commit-hooks
3
+ rev: 2023.6.28
4
+ hooks:
5
+ - id: ruff
6
+ - id: black
7
+ - id: isort
8
+ - id: mypy
9
+ - id: check-yaml
10
+ - id: end-of-file-fixer
11
+ - id: trailing-whitespace
12
+ - repo: local
13
+ hooks:
14
+ - id: lint-staged
15
+ name: lint-staged
16
+ language: node
17
+ entry: npx lint-staged
18
+ verbose: true # to see familiar lint-staged output
19
+ pass_filenames: false # lint-staged has its own glob expression
@@ -0,0 +1,7 @@
1
+ {
2
+ "singleQuote": false,
3
+ "printWidth": 100,
4
+ "trailingComma": "all",
5
+ "tabWidth": 4
6
+ }
7
+
@@ -0,0 +1,15 @@
1
+ # LICENSE
2
+
3
+ Copyright 2022 Exabyte Inc.
4
+
5
+ Licensed under the Apache License, Version 2.0 (the "License");
6
+ you may not use this file except in compliance with the License.
7
+ You may obtain a copy of the License at
8
+
9
+ http://www.apache.org/licenses/LICENSE-2.0
10
+
11
+ Unless required by applicable law or agreed to in writing, software
12
+ distributed under the License is distributed on an "AS IS" BASIS,
13
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ See the License for the specific language governing permissions and
15
+ limitations under the License.
@@ -0,0 +1,89 @@
1
+ Metadata-Version: 2.1
2
+ Name: mat3ra-code
3
+ Version: 2024.3.21.post0
4
+ Summary: COre DEfinitions.
5
+ Author-email: "Exabyte Inc." <info@mat3ra.com>
6
+ License: # LICENSE
7
+
8
+ Copyright 2022 Exabyte Inc.
9
+
10
+ Licensed under the Apache License, Version 2.0 (the "License");
11
+ you may not use this file except in compliance with the License.
12
+ You may obtain a copy of the License at
13
+
14
+ http://www.apache.org/licenses/LICENSE-2.0
15
+
16
+ Unless required by applicable law or agreed to in writing, software
17
+ distributed under the License is distributed on an "AS IS" BASIS,
18
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
19
+ See the License for the specific language governing permissions and
20
+ limitations under the License.
21
+
22
+ Classifier: Programming Language :: Python
23
+ Classifier: Programming Language :: Python :: 3
24
+ Classifier: Development Status :: 3 - Alpha
25
+ Classifier: Topic :: Software Development
26
+ Requires-Python: >=3.8
27
+ Description-Content-Type: text/markdown
28
+ License-File: LICENSE.md
29
+ Requires-Dist: numpy
30
+ Provides-Extra: tests
31
+ Requires-Dist: coverage[toml]>=5.3; extra == "tests"
32
+ Requires-Dist: pre-commit; extra == "tests"
33
+ Requires-Dist: black; extra == "tests"
34
+ Requires-Dist: ruff; extra == "tests"
35
+ Requires-Dist: isort; extra == "tests"
36
+ Requires-Dist: mypy; extra == "tests"
37
+ Requires-Dist: pip-tools; extra == "tests"
38
+ Provides-Extra: all
39
+ Requires-Dist: mat3ra-code[tests]; extra == "all"
40
+
41
+ [![npm version](https://badge.fury.io/js/%40exabyte-io%2Fcode.js.svg)](https://badge.fury.io/js/%40exabyte-io%2Fcode.js)
42
+ [![License: Apache](https://img.shields.io/badge/License-Apache-blue.svg)](https://www.apache.org/licenses/LICENSE-2.0)
43
+
44
+ # @exabyte-io/code.js
45
+
46
+ @exabyte-io/code.js houses COre DEfinitions (CODE) for use across the Mat3ra platform.
47
+ Its usage can be found in other open-source packages used in the platform.
48
+
49
+
50
+ ### Installation
51
+
52
+ For usage within a javascript project:
53
+
54
+ ```bash
55
+ npm install @exabyte-io/code.js
56
+ ```
57
+
58
+ For development:
59
+
60
+ ```bash
61
+ git clone https://github.com/Exabyte-io/code.js.git
62
+ ```
63
+
64
+
65
+ ### Contribution
66
+
67
+ This repository is an [open-source](LICENSE.md) work-in-progress and we welcome contributions.
68
+
69
+ We regularly deploy the latest code containing all accepted contributions online as part of the
70
+ [Mat3ra.com](https://mat3ra.com) platform, so contributors will see their code in action there.
71
+
72
+ See [ESSE](https://github.com/Exabyte-io/esse) for additional context regarding the data schemas used here.
73
+
74
+ Useful commands for development:
75
+
76
+ ```bash
77
+ # run linter without persistence
78
+ npm run lint
79
+
80
+ # run linter and save edits
81
+ npm run lint:fix
82
+
83
+ # compile the library
84
+ npm run transpile
85
+
86
+ # run tests
87
+ npm run test
88
+ ```
89
+
@@ -0,0 +1,49 @@
1
+ [![npm version](https://badge.fury.io/js/%40exabyte-io%2Fcode.js.svg)](https://badge.fury.io/js/%40exabyte-io%2Fcode.js)
2
+ [![License: Apache](https://img.shields.io/badge/License-Apache-blue.svg)](https://www.apache.org/licenses/LICENSE-2.0)
3
+
4
+ # @exabyte-io/code.js
5
+
6
+ @exabyte-io/code.js houses COre DEfinitions (CODE) for use across the Mat3ra platform.
7
+ Its usage can be found in other open-source packages used in the platform.
8
+
9
+
10
+ ### Installation
11
+
12
+ For usage within a javascript project:
13
+
14
+ ```bash
15
+ npm install @exabyte-io/code.js
16
+ ```
17
+
18
+ For development:
19
+
20
+ ```bash
21
+ git clone https://github.com/Exabyte-io/code.js.git
22
+ ```
23
+
24
+
25
+ ### Contribution
26
+
27
+ This repository is an [open-source](LICENSE.md) work-in-progress and we welcome contributions.
28
+
29
+ We regularly deploy the latest code containing all accepted contributions online as part of the
30
+ [Mat3ra.com](https://mat3ra.com) platform, so contributors will see their code in action there.
31
+
32
+ See [ESSE](https://github.com/Exabyte-io/esse) for additional context regarding the data schemas used here.
33
+
34
+ Useful commands for development:
35
+
36
+ ```bash
37
+ # run linter without persistence
38
+ npm run lint
39
+
40
+ # run linter and save edits
41
+ npm run lint:fix
42
+
43
+ # compile the library
44
+ npm run transpile
45
+
46
+ # run tests
47
+ npm run test
48
+ ```
49
+