diff options
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | python-calcipy.spec | 535 | ||||
-rw-r--r-- | sources | 1 |
3 files changed, 537 insertions, 0 deletions
@@ -0,0 +1 @@ +/calcipy-1.2.5.tar.gz diff --git a/python-calcipy.spec b/python-calcipy.spec new file mode 100644 index 0000000..a7ec78c --- /dev/null +++ b/python-calcipy.spec @@ -0,0 +1,535 @@ +%global _empty_manifest_terminate_build 0 +Name: python-calcipy +Version: 1.2.5 +Release: 1 +Summary: Python package to simplify development +License: MIT +URL: https://github.com/kyleking/calcipy +Source0: https://mirrors.aliyun.com/pypi/web/packages/ca/9d/0811bc8e6db205a3d935972bbdfe0d0767040abcc41b4eaf9588c2df7a50/calcipy-1.2.5.tar.gz +BuildArch: noarch + +Requires: python3-arrow +Requires: python3-autopep8 +Requires: python3-bandit +Requires: python3-beartype +Requires: python3-bidict +Requires: python3-commitizen +Requires: python3-corallium +Requires: python3-dlint +Requires: python3-flake8 +Requires: python3-flake8-adjustable-complexity +Requires: python3-flake8-annotations-complexity +Requires: python3-flake8-executable +Requires: python3-flake8-expression-complexity +Requires: python3-flake8-functions +Requires: python3-flake8-pep3101 +Requires: python3-flake8-pie +Requires: python3-flake8-printf-formatting +Requires: python3-flake8-raise +Requires: python3-flake8-require-beartype +Requires: python3-flake8-sql +Requires: python3-flake8-string-format +Requires: python3-flake8-super +Requires: python3-flake8-tuple +Requires: python3-flake8-typing-imports +Requires: python3-flake8-use-pathlib +Requires: python3-flake8-variables-names +Requires: python3-invoke +Requires: python3-mkdocs +Requires: python3-mkdocs-build-plantuml-plugin +Requires: python3-mkdocs-gen-files +Requires: python3-mkdocs-git-revision-date-localized-plugin +Requires: python3-mkdocs-include-markdown-plugin +Requires: python3-mkdocs-literate-nav +Requires: python3-mkdocs-material +Requires: python3-mkdocs-section-index +Requires: python3-mkdocstrings[python] +Requires: python3-mypy +Requires: python3-nox-poetry +Requires: python3-pandas +Requires: python3-pip-check +Requires: python3-pydantic +Requires: python3-pylint +Requires: python3-pymdown-extensions +Requires: python3-pyrate_limiter +Requires: python3-pytest +Requires: python3-pytest-cov +Requires: python3-pytest-randomly +Requires: python3-pytest-watcher +Requires: python3-box +Requires: python3-pyyaml +Requires: python3-requests +Requires: python3-ruff +Requires: python3-semgrep +Requires: python3-tabulate +Requires: python3-transitions + +%description +# calcipy + + + +`calcipy` is a Python package that implements best practices such as code style (linting, auto-fixes), documentation, CI/CD, and logging. Like the calcium carbonate in hard coral, packages can be built on the `calcipy` foundation. + +`calcipy` has some configurability, but is tailored for my particular use cases. If you want the same sort of functionality, there are a number of alternatives to consider: + +- [pyscaffold](https://github.com/pyscaffold/pyscaffold) is a much more mature project that aims for the same goals, but with a slightly different approach and tech stack (tox vs. nox, cookiecutter vs. copier, etc.) +- [tidypy](https://github.com/jayclassless/tidypy#features), [pylama](https://github.com/klen/pylama), and [codecheck](https://pypi.org/project/codecheck/) offer similar functionality of bundling and running static checkers, but makes far fewer assumptions +- [pytoil](https://github.com/FollowTheProcess/pytoil) is a general CLI tool for developer automation +- And many more such as [pyta](https://github.com/pyta-uoft/pyta), [prospector](https://github.com/PyCQA/prospector), [wemake-python-styleguide](https://github.com/wemake-services/wemake-python-styleguide) / [cjolowicz/cookiecutter-hypermodern-python](https://github.com/cjolowicz/cookiecutter-hypermodern-python), [formate](https://github.com/python-formate/formate), [johnthagen/python-blueprint](https://github.com/johnthagen/python-blueprint), [oxsecurity/megalinter](https://github.com/oxsecurity/megalinter), etc. + +## Installation + +Calcipy needs a few static files managed using copier and a template project: [kyleking/calcipy_template](https://github.com/KyleKing/calcipy_template/) + +You can quickly use the template to create a new project or add calcipy to an existing one: + +```sh +# Install copier. pipx is recommended +pipx install copier + +# To create a new project +copier copy gh:KyleKing/calcipy_template new_project +cd new_project + +# Or convert/update an existing one +cd my_project +copier copy gh:KyleKing/calcipy_template . +copier update +``` + +See [./Advanced_Configuration.md](./Advanced_Configuration.md) for documentation on the configurable aspects of `calcipy` + +### Calcipy CLI + +Additionally, `calcipy` can be run as a CLI application without adding the package as a dependency. + +Quick Start: + +```sh +pipx install calcipy + +# Use 'tags' to create a CODE_TAG_SUMMARY of the specified directory +calcipy tags --help +calcipy tags --base-dir=~/path/to/my_project + +# See additional documentation from the CLI help +> calcipy + +Subcommands: + +main Main task pipeline. +other Run tasks that are otherwise not exercised in main. +release Release pipeline. +cl.bump Bumps project version based on commits & settings in pyproject.toml. +cl.write Write a Changelog file with the raw Git history. +doc.build Build documentation with mkdocs. +doc.deploy Deploy docs to the Github `gh-pages` branch. +doc.watch Serve local documentation for local editing. +lint.autopep8 Run autopep8. +lint.check (lint) Run ruff as check-only. +lint.fix Run ruff and apply fixes. +lint.flake8 Run ruff and apply fixes. +lint.pre-commit Run pre-commit. +lint.pylint Run ruff and apply fixes. +lint.security Attempt to identify possible security vulnerabilities. +lint.watch Run ruff as check-only. +nox.noxfile (nox) Run nox from the local noxfile. +pack.check-licenses Check licenses for compatibility with `licensecheck`. +pack.lock Ensure poetry.lock is up-to-date. +pack.publish Build the distributed format(s) and publish. +stale.check-for-stale-packages (stale) Identify stale dependencies. +tags.collect-code-tags (tags) Create a `CODE_TAG_SUMMARY.md` with a table for TODO- and FIXME-style code comments. +test.coverage Generate useful coverage outputs after running pytest. +test.pytest (test) Run pytest with default arguments. +test.step Run pytest optimized to stop on first error. +test.watch Run pytest with polling and optimized to stop on first error. +types.mypy Run mypy. +types.pyright Run pyright. + +Global Task Options: + +working_dir Set the cwd for the program. Example: "../run --working-dir .. lint test" +*file_args List of Paths available globally to all tasks. Will resolve paths with working_dir +verbose Globally configure logger verbosity (-vvv for most verbose) +``` + +### Calcipy Pre-Commit + +`calcipy` can also be used as a `pre-commit` task by adding the below snippet to your `pre-commit` file: + +```yaml +repos: + - repo: https://github.com/KyleKing/calcipy + rev: main + hooks: + - id: tags + - id: lint-fix + - id: types +``` + +## Project Status + +See the `Open Issues` and/or the [CODE_TAG_SUMMARY]. For release history, see the [CHANGELOG]. + +## Contributing + +We welcome pull requests! For your pull request to be accepted smoothly, we suggest that you first open a GitHub issue to discuss your idea. For resources on getting started with the code base, see the below documentation: + +- [DEVELOPER_GUIDE] +- [STYLE_GUIDE] + +## Code of Conduct + +We follow the [Contributor Covenant Code of Conduct][contributor-covenant]. + +### Open Source Status + +We try to reasonably meet most aspects of the "OpenSSF scorecard" from [Open Source Insights](https://deps.dev/pypi/calcipy) + +## Responsible Disclosure + +If you have any security issue to report, please contact the project maintainers privately. You can reach us at [dev.act.kyle@gmail.com](mailto:dev.act.kyle@gmail.com). + +## License + +[LICENSE] + +[changelog]: https://calcipy.kyleking.me/docs/CHANGELOG +[code_tag_summary]: https://calcipy.kyleking.me/docs/CODE_TAG_SUMMARY +[contributor-covenant]: https://www.contributor-covenant.org +[developer_guide]: https://calcipy.kyleking.me/docs/DEVELOPER_GUIDE +[license]: https://github.com/kyleking/calcipy/blob/main/LICENSE +[style_guide]: https://calcipy.kyleking.me/docs/STYLE_GUIDE + + +%package -n python3-calcipy +Summary: Python package to simplify development +Provides: python-calcipy +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-calcipy +# calcipy + + + +`calcipy` is a Python package that implements best practices such as code style (linting, auto-fixes), documentation, CI/CD, and logging. Like the calcium carbonate in hard coral, packages can be built on the `calcipy` foundation. + +`calcipy` has some configurability, but is tailored for my particular use cases. If you want the same sort of functionality, there are a number of alternatives to consider: + +- [pyscaffold](https://github.com/pyscaffold/pyscaffold) is a much more mature project that aims for the same goals, but with a slightly different approach and tech stack (tox vs. nox, cookiecutter vs. copier, etc.) +- [tidypy](https://github.com/jayclassless/tidypy#features), [pylama](https://github.com/klen/pylama), and [codecheck](https://pypi.org/project/codecheck/) offer similar functionality of bundling and running static checkers, but makes far fewer assumptions +- [pytoil](https://github.com/FollowTheProcess/pytoil) is a general CLI tool for developer automation +- And many more such as [pyta](https://github.com/pyta-uoft/pyta), [prospector](https://github.com/PyCQA/prospector), [wemake-python-styleguide](https://github.com/wemake-services/wemake-python-styleguide) / [cjolowicz/cookiecutter-hypermodern-python](https://github.com/cjolowicz/cookiecutter-hypermodern-python), [formate](https://github.com/python-formate/formate), [johnthagen/python-blueprint](https://github.com/johnthagen/python-blueprint), [oxsecurity/megalinter](https://github.com/oxsecurity/megalinter), etc. + +## Installation + +Calcipy needs a few static files managed using copier and a template project: [kyleking/calcipy_template](https://github.com/KyleKing/calcipy_template/) + +You can quickly use the template to create a new project or add calcipy to an existing one: + +```sh +# Install copier. pipx is recommended +pipx install copier + +# To create a new project +copier copy gh:KyleKing/calcipy_template new_project +cd new_project + +# Or convert/update an existing one +cd my_project +copier copy gh:KyleKing/calcipy_template . +copier update +``` + +See [./Advanced_Configuration.md](./Advanced_Configuration.md) for documentation on the configurable aspects of `calcipy` + +### Calcipy CLI + +Additionally, `calcipy` can be run as a CLI application without adding the package as a dependency. + +Quick Start: + +```sh +pipx install calcipy + +# Use 'tags' to create a CODE_TAG_SUMMARY of the specified directory +calcipy tags --help +calcipy tags --base-dir=~/path/to/my_project + +# See additional documentation from the CLI help +> calcipy + +Subcommands: + +main Main task pipeline. +other Run tasks that are otherwise not exercised in main. +release Release pipeline. +cl.bump Bumps project version based on commits & settings in pyproject.toml. +cl.write Write a Changelog file with the raw Git history. +doc.build Build documentation with mkdocs. +doc.deploy Deploy docs to the Github `gh-pages` branch. +doc.watch Serve local documentation for local editing. +lint.autopep8 Run autopep8. +lint.check (lint) Run ruff as check-only. +lint.fix Run ruff and apply fixes. +lint.flake8 Run ruff and apply fixes. +lint.pre-commit Run pre-commit. +lint.pylint Run ruff and apply fixes. +lint.security Attempt to identify possible security vulnerabilities. +lint.watch Run ruff as check-only. +nox.noxfile (nox) Run nox from the local noxfile. +pack.check-licenses Check licenses for compatibility with `licensecheck`. +pack.lock Ensure poetry.lock is up-to-date. +pack.publish Build the distributed format(s) and publish. +stale.check-for-stale-packages (stale) Identify stale dependencies. +tags.collect-code-tags (tags) Create a `CODE_TAG_SUMMARY.md` with a table for TODO- and FIXME-style code comments. +test.coverage Generate useful coverage outputs after running pytest. +test.pytest (test) Run pytest with default arguments. +test.step Run pytest optimized to stop on first error. +test.watch Run pytest with polling and optimized to stop on first error. +types.mypy Run mypy. +types.pyright Run pyright. + +Global Task Options: + +working_dir Set the cwd for the program. Example: "../run --working-dir .. lint test" +*file_args List of Paths available globally to all tasks. Will resolve paths with working_dir +verbose Globally configure logger verbosity (-vvv for most verbose) +``` + +### Calcipy Pre-Commit + +`calcipy` can also be used as a `pre-commit` task by adding the below snippet to your `pre-commit` file: + +```yaml +repos: + - repo: https://github.com/KyleKing/calcipy + rev: main + hooks: + - id: tags + - id: lint-fix + - id: types +``` + +## Project Status + +See the `Open Issues` and/or the [CODE_TAG_SUMMARY]. For release history, see the [CHANGELOG]. + +## Contributing + +We welcome pull requests! For your pull request to be accepted smoothly, we suggest that you first open a GitHub issue to discuss your idea. For resources on getting started with the code base, see the below documentation: + +- [DEVELOPER_GUIDE] +- [STYLE_GUIDE] + +## Code of Conduct + +We follow the [Contributor Covenant Code of Conduct][contributor-covenant]. + +### Open Source Status + +We try to reasonably meet most aspects of the "OpenSSF scorecard" from [Open Source Insights](https://deps.dev/pypi/calcipy) + +## Responsible Disclosure + +If you have any security issue to report, please contact the project maintainers privately. You can reach us at [dev.act.kyle@gmail.com](mailto:dev.act.kyle@gmail.com). + +## License + +[LICENSE] + +[changelog]: https://calcipy.kyleking.me/docs/CHANGELOG +[code_tag_summary]: https://calcipy.kyleking.me/docs/CODE_TAG_SUMMARY +[contributor-covenant]: https://www.contributor-covenant.org +[developer_guide]: https://calcipy.kyleking.me/docs/DEVELOPER_GUIDE +[license]: https://github.com/kyleking/calcipy/blob/main/LICENSE +[style_guide]: https://calcipy.kyleking.me/docs/STYLE_GUIDE + + +%package help +Summary: Development documents and examples for calcipy +Provides: python3-calcipy-doc +%description help +# calcipy + + + +`calcipy` is a Python package that implements best practices such as code style (linting, auto-fixes), documentation, CI/CD, and logging. Like the calcium carbonate in hard coral, packages can be built on the `calcipy` foundation. + +`calcipy` has some configurability, but is tailored for my particular use cases. If you want the same sort of functionality, there are a number of alternatives to consider: + +- [pyscaffold](https://github.com/pyscaffold/pyscaffold) is a much more mature project that aims for the same goals, but with a slightly different approach and tech stack (tox vs. nox, cookiecutter vs. copier, etc.) +- [tidypy](https://github.com/jayclassless/tidypy#features), [pylama](https://github.com/klen/pylama), and [codecheck](https://pypi.org/project/codecheck/) offer similar functionality of bundling and running static checkers, but makes far fewer assumptions +- [pytoil](https://github.com/FollowTheProcess/pytoil) is a general CLI tool for developer automation +- And many more such as [pyta](https://github.com/pyta-uoft/pyta), [prospector](https://github.com/PyCQA/prospector), [wemake-python-styleguide](https://github.com/wemake-services/wemake-python-styleguide) / [cjolowicz/cookiecutter-hypermodern-python](https://github.com/cjolowicz/cookiecutter-hypermodern-python), [formate](https://github.com/python-formate/formate), [johnthagen/python-blueprint](https://github.com/johnthagen/python-blueprint), [oxsecurity/megalinter](https://github.com/oxsecurity/megalinter), etc. + +## Installation + +Calcipy needs a few static files managed using copier and a template project: [kyleking/calcipy_template](https://github.com/KyleKing/calcipy_template/) + +You can quickly use the template to create a new project or add calcipy to an existing one: + +```sh +# Install copier. pipx is recommended +pipx install copier + +# To create a new project +copier copy gh:KyleKing/calcipy_template new_project +cd new_project + +# Or convert/update an existing one +cd my_project +copier copy gh:KyleKing/calcipy_template . +copier update +``` + +See [./Advanced_Configuration.md](./Advanced_Configuration.md) for documentation on the configurable aspects of `calcipy` + +### Calcipy CLI + +Additionally, `calcipy` can be run as a CLI application without adding the package as a dependency. + +Quick Start: + +```sh +pipx install calcipy + +# Use 'tags' to create a CODE_TAG_SUMMARY of the specified directory +calcipy tags --help +calcipy tags --base-dir=~/path/to/my_project + +# See additional documentation from the CLI help +> calcipy + +Subcommands: + +main Main task pipeline. +other Run tasks that are otherwise not exercised in main. +release Release pipeline. +cl.bump Bumps project version based on commits & settings in pyproject.toml. +cl.write Write a Changelog file with the raw Git history. +doc.build Build documentation with mkdocs. +doc.deploy Deploy docs to the Github `gh-pages` branch. +doc.watch Serve local documentation for local editing. +lint.autopep8 Run autopep8. +lint.check (lint) Run ruff as check-only. +lint.fix Run ruff and apply fixes. +lint.flake8 Run ruff and apply fixes. +lint.pre-commit Run pre-commit. +lint.pylint Run ruff and apply fixes. +lint.security Attempt to identify possible security vulnerabilities. +lint.watch Run ruff as check-only. +nox.noxfile (nox) Run nox from the local noxfile. +pack.check-licenses Check licenses for compatibility with `licensecheck`. +pack.lock Ensure poetry.lock is up-to-date. +pack.publish Build the distributed format(s) and publish. +stale.check-for-stale-packages (stale) Identify stale dependencies. +tags.collect-code-tags (tags) Create a `CODE_TAG_SUMMARY.md` with a table for TODO- and FIXME-style code comments. +test.coverage Generate useful coverage outputs after running pytest. +test.pytest (test) Run pytest with default arguments. +test.step Run pytest optimized to stop on first error. +test.watch Run pytest with polling and optimized to stop on first error. +types.mypy Run mypy. +types.pyright Run pyright. + +Global Task Options: + +working_dir Set the cwd for the program. Example: "../run --working-dir .. lint test" +*file_args List of Paths available globally to all tasks. Will resolve paths with working_dir +verbose Globally configure logger verbosity (-vvv for most verbose) +``` + +### Calcipy Pre-Commit + +`calcipy` can also be used as a `pre-commit` task by adding the below snippet to your `pre-commit` file: + +```yaml +repos: + - repo: https://github.com/KyleKing/calcipy + rev: main + hooks: + - id: tags + - id: lint-fix + - id: types +``` + +## Project Status + +See the `Open Issues` and/or the [CODE_TAG_SUMMARY]. For release history, see the [CHANGELOG]. + +## Contributing + +We welcome pull requests! For your pull request to be accepted smoothly, we suggest that you first open a GitHub issue to discuss your idea. For resources on getting started with the code base, see the below documentation: + +- [DEVELOPER_GUIDE] +- [STYLE_GUIDE] + +## Code of Conduct + +We follow the [Contributor Covenant Code of Conduct][contributor-covenant]. + +### Open Source Status + +We try to reasonably meet most aspects of the "OpenSSF scorecard" from [Open Source Insights](https://deps.dev/pypi/calcipy) + +## Responsible Disclosure + +If you have any security issue to report, please contact the project maintainers privately. You can reach us at [dev.act.kyle@gmail.com](mailto:dev.act.kyle@gmail.com). + +## License + +[LICENSE] + +[changelog]: https://calcipy.kyleking.me/docs/CHANGELOG +[code_tag_summary]: https://calcipy.kyleking.me/docs/CODE_TAG_SUMMARY +[contributor-covenant]: https://www.contributor-covenant.org +[developer_guide]: https://calcipy.kyleking.me/docs/DEVELOPER_GUIDE +[license]: https://github.com/kyleking/calcipy/blob/main/LICENSE +[style_guide]: https://calcipy.kyleking.me/docs/STYLE_GUIDE + + +%prep +%autosetup -n calcipy-1.2.5 + +%build +%py3_build + +%install +%py3_install +install -d -m755 %{buildroot}/%{_pkgdocdir} +if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi +if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi +if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi +if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi +pushd %{buildroot} +if [ -d usr/lib ]; then + find usr/lib -type f -printf "\"/%h/%f\"\n" >> filelist.lst +fi +if [ -d usr/lib64 ]; then + find usr/lib64 -type f -printf "\"/%h/%f\"\n" >> filelist.lst +fi +if [ -d usr/bin ]; then + find usr/bin -type f -printf "\"/%h/%f\"\n" >> filelist.lst +fi +if [ -d usr/sbin ]; then + find usr/sbin -type f -printf "\"/%h/%f\"\n" >> filelist.lst +fi +touch doclist.lst +if [ -d usr/share/man ]; then + find usr/share/man -type f -printf "\"/%h/%f.gz\"\n" >> doclist.lst +fi +popd +mv %{buildroot}/filelist.lst . +mv %{buildroot}/doclist.lst . + +%files -n python3-calcipy -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Fri Jun 09 2023 Python_Bot <Python_Bot@openeuler.org> - 1.2.5-1 +- Package Spec generated @@ -0,0 +1 @@ +07ce4a1b32590dff739e4b20909090e4 calcipy-1.2.5.tar.gz |