directed-inputs-class 0.1.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 (29) hide show
  1. directed_inputs_class-0.1.0/.github/ISSUE_TEMPLATE/bug_report.md +46 -0
  2. directed_inputs_class-0.1.0/.github/ISSUE_TEMPLATE/custom.md +8 -0
  3. directed_inputs_class-0.1.0/.github/ISSUE_TEMPLATE/feature_request.md +24 -0
  4. directed_inputs_class-0.1.0/.github/dependabot.yml +7 -0
  5. directed_inputs_class-0.1.0/.github/workflows/codeql-analysis.yml +38 -0
  6. directed_inputs_class-0.1.0/.github/workflows/docs.yml +32 -0
  7. directed_inputs_class-0.1.0/.github/workflows/release.yml +171 -0
  8. directed_inputs_class-0.1.0/.gitignore +187 -0
  9. directed_inputs_class-0.1.0/.pre-commit-config.yaml +37 -0
  10. directed_inputs_class-0.1.0/.python-version +5 -0
  11. directed_inputs_class-0.1.0/.python-version-default +1 -0
  12. directed_inputs_class-0.1.0/.readthedocs.yaml +19 -0
  13. directed_inputs_class-0.1.0/CHANGELOG.md +11 -0
  14. directed_inputs_class-0.1.0/CONTRIBUTING.md +34 -0
  15. directed_inputs_class-0.1.0/LICENSE +21 -0
  16. directed_inputs_class-0.1.0/PKG-INFO +113 -0
  17. directed_inputs_class-0.1.0/README.md +70 -0
  18. directed_inputs_class-0.1.0/docs/_static/logo.webp +0 -0
  19. directed_inputs_class-0.1.0/docs/conf.py +52 -0
  20. directed_inputs_class-0.1.0/docs/index.md +25 -0
  21. directed_inputs_class-0.1.0/docs/installation.rst +8 -0
  22. directed_inputs_class-0.1.0/docs/overview.rst +74 -0
  23. directed_inputs_class-0.1.0/docs/templates/CHANGELOG.md.j2 +34 -0
  24. directed_inputs_class-0.1.0/pyproject.toml +135 -0
  25. directed_inputs_class-0.1.0/src/directed_inputs_class/__init__.py +14 -0
  26. directed_inputs_class-0.1.0/src/directed_inputs_class/__main__.py +233 -0
  27. directed_inputs_class-0.1.0/tests/__init__.py +0 -0
  28. directed_inputs_class-0.1.0/tests/test_main.py +214 -0
  29. directed_inputs_class-0.1.0/tox.ini +63 -0
@@ -0,0 +1,46 @@
1
+ ---
2
+ name: Bug report
3
+ about: Create a report to help us improve
4
+ title: ''
5
+ labels: ''
6
+ assignees: ''
7
+
8
+ ---
9
+
10
+ ## Describe the bug
11
+
12
+ A clear and concise description of what the bug is.
13
+
14
+ ## To Reproduce
15
+
16
+ Steps to reproduce the behavior:
17
+
18
+ 1. Go to '...'
19
+ 2. Click on '....'
20
+ 3. Scroll down to '....'
21
+ 4. See error
22
+
23
+ ## Expected behavior
24
+
25
+ A clear and concise description of what you expected to happen.
26
+
27
+ ## Screenshots
28
+
29
+ If applicable, add screenshots to help explain your problem.
30
+
31
+ ## Desktop (please complete the following information)
32
+
33
+ - OS: [e.g. iOS]
34
+ - Browser [e.g. chrome, safari]
35
+ - Version [e.g. 22]
36
+
37
+ ## Smartphone (please complete the following information)
38
+
39
+ - Device: [e.g. iPhone6]
40
+ - OS: [e.g. iOS8.1]
41
+ - Browser [e.g. stock browser, safari]
42
+ - Version [e.g. 22]
43
+
44
+ ## Additional context
45
+
46
+ Add any other context about the problem here.
@@ -0,0 +1,8 @@
1
+ ---
2
+ name: Custom issue template
3
+ about: Describe this issue template's purpose here.
4
+ title: ''
5
+ labels: ''
6
+ assignees: ''
7
+
8
+ ---
@@ -0,0 +1,24 @@
1
+ ---
2
+ name: Feature request
3
+ about: Suggest an idea for this project
4
+ title: ''
5
+ labels: ''
6
+ assignees: ''
7
+
8
+ ---
9
+
10
+ ## Is your feature request related to a problem? Please describe it
11
+
12
+ A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
13
+
14
+ ## Describe the solution you'd like
15
+
16
+ A clear and concise description of what you want to happen.
17
+
18
+ ## Describe alternatives you've considered
19
+
20
+ A clear and concise description of any alternative solutions or features you've considered.
21
+
22
+ ## Additional context
23
+
24
+ Add any other context or screenshots about the feature request here.
@@ -0,0 +1,7 @@
1
+ ---
2
+ version: 2
3
+ updates:
4
+ - package-ecosystem: "github-actions"
5
+ directory: "/"
6
+ schedule:
7
+ interval: "monthly"
@@ -0,0 +1,38 @@
1
+ ---
2
+ name: CodeQL
3
+
4
+ on:
5
+ schedule:
6
+ - cron: "41 3 * * 6"
7
+
8
+ permissions:
9
+ contents: read
10
+
11
+ jobs:
12
+ analyze:
13
+ name: Analyze
14
+ runs-on: ubuntu-latest
15
+ permissions:
16
+ actions: read
17
+ contents: read
18
+ security-events: write
19
+
20
+ strategy:
21
+ fail-fast: false
22
+ matrix:
23
+ language: [python]
24
+
25
+ steps:
26
+ - name: Checkout repository
27
+ uses: actions/checkout@v4
28
+
29
+ - name: Initialize CodeQL
30
+ uses: github/codeql-action/init@v3
31
+ with:
32
+ languages: ${{ matrix.language }}
33
+
34
+ - name: Autobuild
35
+ uses: github/codeql-action/autobuild@v3
36
+
37
+ - name: Perform CodeQL Analysis
38
+ uses: github/codeql-action/analyze@v3
@@ -0,0 +1,32 @@
1
+ name: Docs
2
+
3
+ on:
4
+ push:
5
+ branches: [main]
6
+ pull_request:
7
+
8
+ permissions:
9
+ id-token: write
10
+ contents: write
11
+ pages: write
12
+
13
+ jobs:
14
+ pages:
15
+ name: Build and Push to Github Pages
16
+ environment: github-pages
17
+ runs-on: ubuntu-latest
18
+
19
+ steps:
20
+ - uses: actions/checkout@v4
21
+ with:
22
+ ref: ${{ github.head_ref }}
23
+ - uses: actions/setup-python@v5
24
+ with:
25
+ python-version-file: .python-version-default
26
+ - uses: hynek/setup-cached-uv@v2
27
+ - run: uv pip install --system tox-uv
28
+ - run: python -Im tox -e docs
29
+ - name: Upload artifact
30
+ uses: actions/upload-pages-artifact@v3
31
+ with:
32
+ path: "./docs/_build/html"
@@ -0,0 +1,171 @@
1
+ name: Release Python 🐍 distribution 📦 to PyPI and TestPyPI
2
+
3
+ on: push
4
+
5
+ jobs:
6
+ build:
7
+ name: Build & verify package
8
+ runs-on: ubuntu-latest
9
+ permissions:
10
+ attestations: write
11
+ id-token: write
12
+ outputs:
13
+ python-versions: ${{ steps.baipp.outputs.supported_python_classifiers_json_array }}
14
+ release-version: ${{ steps.cz.outputs.version }}
15
+ steps:
16
+ - uses: actions/checkout@v4
17
+ with:
18
+ fetch-depth: 0
19
+ - uses: hynek/build-and-inspect-python-package@v2
20
+ id: baipp
21
+ with:
22
+ attest-build-provenance-github: "true"
23
+
24
+ tests:
25
+ name: Run Tests on Python ${{ matrix.python-version }}
26
+ needs: build
27
+ runs-on: ubuntu-latest
28
+ strategy:
29
+ fail-fast: false
30
+ matrix:
31
+ python-version: ${{ fromJson(needs.build.outputs.python-versions) }}
32
+
33
+ steps:
34
+ - uses: actions/checkout@v4
35
+ - name: Download pre-built packages
36
+ uses: actions/download-artifact@v4
37
+ with:
38
+ name: Packages
39
+ path: dist
40
+ - run: tar xf dist/*.tar.gz --strip-components=1
41
+ - uses: actions/setup-python@v5
42
+ with:
43
+ python-version: ${{ matrix.python-version }}
44
+ allow-prereleases: true
45
+ - uses: hynek/setup-cached-uv@v2
46
+ - run: uv pip install --system tox-gh tox-uv
47
+ - run: python -Im tox run --installpkg dist/*.whl
48
+ - name: Upload coverage data
49
+ uses: actions/upload-artifact@v4
50
+ with:
51
+ name: coverage-data-${{ matrix.python-version }}
52
+ path: .coverage.*
53
+ if-no-files-found: ignore
54
+
55
+ coverage:
56
+ name: Combine & check coverage
57
+ needs: tests
58
+ runs-on: ubuntu-latest
59
+
60
+ steps:
61
+ - uses: actions/checkout@v4
62
+ - uses: actions/setup-python@v5
63
+ with:
64
+ python-version-file: .python-version-default
65
+ - uses: hynek/setup-cached-uv@v2
66
+ - run: uv pip install --system --upgrade coverage[toml]
67
+ - uses: actions/download-artifact@v4
68
+ with:
69
+ pattern: coverage-data-*
70
+ merge-multiple: true
71
+ - name: Combine coverage & fail if it's <75%
72
+ run: |
73
+ python -Im coverage combine
74
+ python -Im coverage html --skip-covered --skip-empty
75
+ python -Im coverage report --format=markdown >> $GITHUB_STEP_SUMMARY
76
+ python -Im coverage report --fail-under=75
77
+ - name: Upload HTML report
78
+ if: always()
79
+ uses: actions/upload-artifact@v4
80
+ with:
81
+ name: html-report
82
+ path: htmlcov
83
+
84
+ publish-to-pypi:
85
+ name: >-
86
+ Publish Python 🐍 distribution 📦 to PyPI
87
+ if: startsWith(github.ref, 'refs/tags/')
88
+ needs:
89
+ - build
90
+ - tests
91
+ runs-on: ubuntu-latest
92
+ environment:
93
+ name: Production
94
+ url: https://pypi.org/p/directed-inputs-class
95
+ permissions:
96
+ id-token: write
97
+
98
+ steps:
99
+ - name: Download pre-built packages
100
+ uses: actions/download-artifact@v4
101
+ with:
102
+ name: Packages
103
+ path: dist
104
+ - name: Publish distribution 📦 to PyPI
105
+ uses: pypa/gh-action-pypi-publish@release/v1
106
+
107
+ github-release:
108
+ name: >-
109
+ Sign the Python 🐍 distribution 📦 with Sigstore
110
+ and upload them to GitHub Release
111
+ needs:
112
+ - publish-to-pypi
113
+ runs-on: ubuntu-latest
114
+
115
+ permissions:
116
+ contents: write
117
+ id-token: write
118
+
119
+ steps:
120
+ - name: Download pre-built packages
121
+ uses: actions/download-artifact@v4
122
+ with:
123
+ name: Packages
124
+ path: dist
125
+ - run: tar xf dist/*.tar.gz --strip-components=1
126
+ - name: Sign the dists with Sigstore
127
+ uses: sigstore/gh-action-sigstore-python@v2.1.1
128
+ with:
129
+ inputs: >-
130
+ ./dist/*.tar.gz
131
+ ./dist/*.whl
132
+ - name: Create GitHub Release
133
+ env:
134
+ GITHUB_TOKEN: ${{ github.token }}
135
+ run: >-
136
+ gh release create
137
+ '${{ github.ref_name }}'
138
+ --repo '${{ github.repository }}'
139
+ --notes ""
140
+ - name: Upload artifact signatures to GitHub Release
141
+ env:
142
+ GITHUB_TOKEN: ${{ github.token }}
143
+ run: >-
144
+ gh release upload
145
+ '${{ github.ref_name }}' dist/**
146
+ --repo '${{ github.repository }}'
147
+
148
+ publish-to-testpypi:
149
+ name: Publish Python 🐍 distribution 📦 to TestPyPI
150
+ needs:
151
+ - build
152
+ - tests
153
+ runs-on: ubuntu-latest
154
+
155
+ environment:
156
+ name: Testing
157
+ url: https://test.pypi.org/p/directed-inputs-class
158
+
159
+ permissions:
160
+ id-token: write
161
+
162
+ steps:
163
+ - name: Download pre-built packages
164
+ uses: actions/download-artifact@v4
165
+ with:
166
+ name: Packages
167
+ path: dist
168
+ - name: Publish distribution 📦 to TestPyPI
169
+ uses: pypa/gh-action-pypi-publish@release/v1
170
+ with:
171
+ repository-url: https://test.pypi.org/legacy/
@@ -0,0 +1,187 @@
1
+ # Byte-compiled / optimized / DLL files
2
+ __pycache__/
3
+ *.py[cod]
4
+ *$py.class
5
+
6
+ # C extensions
7
+ *.so
8
+
9
+ # Distribution / packaging
10
+ .Python
11
+ build/
12
+ develop-eggs/
13
+ dist/
14
+ downloads/
15
+ eggs/
16
+ .eggs/
17
+ lib/
18
+ lib64/
19
+ parts/
20
+ sdist/
21
+ var/
22
+ wheels/
23
+ share/python-wheels/
24
+ *.egg-info/
25
+ .installed.cfg
26
+ *.egg
27
+ MANIFEST
28
+ # requirements.txt
29
+
30
+ # PyInstaller
31
+ # Usually these files are written by a python script from a template
32
+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
33
+ *.manifest
34
+ *.spec
35
+
36
+ # Installer logs
37
+ pip-log.txt
38
+ pip-delete-this-directory.txt
39
+
40
+ # Unit test / coverage reports
41
+ htmlcov/
42
+ .tox/
43
+ .nox/
44
+ .coverage
45
+ .coverage.*
46
+ .cache
47
+ nosetests.xml
48
+ coverage.xml
49
+ *.cover
50
+ *.py,cover
51
+ .hypothesis/
52
+ .pytest_cache/
53
+ cover/
54
+
55
+ # Translations
56
+ *.mo
57
+ *.pot
58
+
59
+ # Django stuff:
60
+ *.log
61
+ local_settings.py
62
+ db.sqlite3
63
+ db.sqlite3-journal
64
+
65
+ # Flask stuff:
66
+ instance/
67
+ .webassets-cache
68
+
69
+ # Scrapy stuff:
70
+ .scrapy
71
+
72
+ # Sphinx documentation
73
+ docs/_build
74
+ docs/apidocs
75
+
76
+ # PyBuilder
77
+ .pybuilder/
78
+ target/
79
+
80
+ # Jupyter Notebook
81
+ .ipynb_checkpoints
82
+
83
+ # IPython
84
+ profile_default/
85
+ ipython_config.py
86
+
87
+ # pyenv
88
+ # For a library or package, you might want to ignore these files since the code is
89
+ # intended to run in multiple environments; otherwise, check them in:
90
+ # .python-version
91
+
92
+ # pipenv
93
+ # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
94
+ # However, in case of collaboration, if having platform-specific dependencies or dependencies
95
+ # having no cross-platform support, pipenv may install dependencies that don't work, or not
96
+ # install all needed dependencies.
97
+ #Pipfile.lock
98
+
99
+ # poetry
100
+ # Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
101
+ # This is especially recommended for binary packages to ensure reproducibility, and is more
102
+ # commonly ignored for libraries.
103
+ # https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
104
+ #poetry.lock
105
+
106
+ # pdm
107
+ # Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
108
+ #pdm.lock
109
+ # pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
110
+ # in version control.
111
+ # https://pdm.fming.dev/latest/usage/project/#working-with-version-control
112
+ .pdm.toml
113
+ .pdm-python
114
+ .pdm-build/
115
+
116
+ # PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
117
+ __pypackages__/
118
+
119
+ # Celery stuff
120
+ celerybeat-schedule
121
+ celerybeat.pid
122
+
123
+ # SageMath parsed files
124
+ *.sage.py
125
+
126
+ # Environments
127
+ .env
128
+ .venv
129
+ env/
130
+ venv/
131
+ ENV/
132
+ env.bak/
133
+ venv.bak/
134
+
135
+ # Spyder project settings
136
+ .spyderproject
137
+ .spyproject
138
+
139
+ # Rope project settings
140
+ .ropeproject
141
+
142
+ # mkdocs documentation
143
+ /site
144
+
145
+ # mypy
146
+ .mypy_cache/
147
+ .dmypy.json
148
+ dmypy.json
149
+
150
+ # Pyre type checker
151
+ .pyre/
152
+
153
+ # pytype static type analyzer
154
+ .pytype/
155
+
156
+ # Cython debug symbols
157
+ cython_debug/
158
+
159
+ .idea/
160
+ *.iml
161
+
162
+ # General
163
+ .DS_Store
164
+ .AppleDouble
165
+ .LSOverride
166
+
167
+ # Icon must end with two \r
168
+ Icon
169
+
170
+ # Thumbnails
171
+ ._*
172
+
173
+ # Files that might appear in the root of a volume
174
+ .DocumentRevisions-V100
175
+ .fseventsd
176
+ .Spotlight-V100
177
+ .TemporaryItems
178
+ .Trashes
179
+ .VolumeIcon.icns
180
+ .com.apple.timemachine.donotpresent
181
+
182
+ # Directories potentially created on remote AFP share
183
+ .AppleDB
184
+ .AppleDesktop
185
+ Network Trash Folder
186
+ Temporary Items
187
+ .apdisk
@@ -0,0 +1,37 @@
1
+ ---
2
+ ci:
3
+ autoupdate_schedule: monthly
4
+
5
+ repos:
6
+ - repo: https://github.com/psf/black
7
+ rev: 24.8.0
8
+ hooks:
9
+ - id: black
10
+
11
+ - repo: https://github.com/astral-sh/ruff-pre-commit
12
+ rev: v0.5.7
13
+ hooks:
14
+ - id: ruff
15
+ args: [--fix, --exit-non-zero-on-fix]
16
+
17
+ - repo: https://github.com/econchick/interrogate
18
+ rev: 1.7.0
19
+ hooks:
20
+ - id: interrogate
21
+ args: [tests]
22
+
23
+ - repo: https://github.com/codespell-project/codespell
24
+ rev: v2.3.0
25
+ hooks:
26
+ - id: codespell
27
+ additional_dependencies:
28
+ - tomli
29
+
30
+ - repo: https://github.com/pre-commit/pre-commit-hooks
31
+ rev: v4.6.0
32
+ hooks:
33
+ - id: trailing-whitespace
34
+ - id: end-of-file-fixer
35
+ exclude: docs/_static
36
+ - id: check-toml
37
+ - id: check-yaml
@@ -0,0 +1,5 @@
1
+ 3.8
2
+ 3.9
3
+ 3.10
4
+ 3.11
5
+ 3.12
@@ -0,0 +1,19 @@
1
+ version: 2
2
+
3
+ build:
4
+ os: ubuntu-lts-latest
5
+ tools:
6
+ python: "3.12"
7
+ jobs:
8
+ post_checkout:
9
+ - git fetch --tags
10
+ pre_build:
11
+ - python -Im pip install tox-uv
12
+ - python -Im tox run -e docs
13
+
14
+ python:
15
+ install:
16
+ - method: pip
17
+ path: .
18
+ extra_requirements:
19
+ - docs
@@ -0,0 +1,11 @@
1
+ Changelog
2
+ ==========
3
+
4
+ All notable changes to this project will be documented in this file.
5
+
6
+ The format is based on [Keep a Changelog](https://keepachangelog.com/) and this project adheres to [Semantic Versioning](https://semver.org/).
7
+
8
+ <!-- changelog follows -->
9
+
10
+
11
+ ## [Unreleased](https://github.com/jbcom/extended-data-types/tree/Unreleased) -
@@ -0,0 +1,34 @@
1
+ # Contributing to the `directed-inputs-class` project
2
+
3
+ ## Filing a bug report
4
+
5
+ To file a bug report, [open the Issues tab][Issues] and add a new issue,
6
+ labeling it as a bug report. If you wish to try and fix it yourself, add
7
+ yourself as a contributor to that issue. You are allowed to group similar
8
+ bugs into one issue report, as long as you don't exceed the limit of three
9
+ different bugs. Otherwise, make another issue.
10
+
11
+ ## Suggesting a new feature
12
+
13
+ To suggest a new feature:
14
+
15
+ - For small suggestions, [you can go directly to the Projects tab][Projects]
16
+ and write a suggestion to the Suggestions/Ideas column
17
+ - For medium-to-large suggestions, write an issue, mark it as part of the
18
+ current project and label it as a suggestion
19
+
20
+ You may NOT suggest features through email to the core developers.
21
+
22
+ ## Setting up your development environment
23
+
24
+ Since `directed-inputs-class` has very little to do beyond programming and testing,
25
+ the following should be enough for 95% of all contributors:
26
+
27
+ 1. A working Git or GitHub Desktop installation
28
+ 2. A text editor / Python IDE
29
+ 3. An installation of Python that supports Python version 3.8 or higher
30
+ 4. The following, non-standard PyPI modules (available through `pip`):
31
+ - `hatch`
32
+
33
+ [Issues]: https://github.com/Diapolo10/project-name/issues
34
+ [Projects]: https://github.com/Diapolo10/project-name/projects
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2024 Jon Bogaty
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.