neoval-py-utils 0.2.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.
@@ -0,0 +1,28 @@
1
+ Metadata-Version: 2.1
2
+ Name: neoval-py-utils
3
+ Version: 0.2.0
4
+ Summary:
5
+ Author: Neoval
6
+ Author-email: data@neoval.io
7
+ Requires-Python: >=3.10,<4.0
8
+ Classifier: Programming Language :: Python :: 3
9
+ Classifier: Programming Language :: Python :: 3.10
10
+ Classifier: Programming Language :: Python :: 3.11
11
+ Classifier: Programming Language :: Python :: 3.12
12
+ Description-Content-Type: text/markdown
13
+
14
+ # neoval-py-utils
15
+
16
+ Python Utilities
17
+
18
+ # Development
19
+
20
+ All development must take place on a feature branch and a pull request is required; a user is not allowed to commit directly to `main`. The automated workflow in this repo (using `python-semantic-release`) requires the use of [angular style](https://github.com/angular/angular.js/blob/master/DEVELOPERS.md#commits) commit messages to update the package version and `CHANGELOG`. All commits must be formatted in this way before a user is able to merge a PR; a user who may want to develop without using this format for all commits can simply squash non-angular commit messages prior to merge. A PR may only be merged by the `rebase and merge` method. This is to ensure that only angular style commits end up on `main`.
21
+
22
+ Upon merge to `main`, the `deploy` workflow will facilitate the following:
23
+
24
+ - bump the version in `pyproject.toml`
25
+ - update the `CHANGELOG` using all commits added
26
+ - tag and release, if required
27
+ - publish to PyPi
28
+
@@ -0,0 +1,14 @@
1
+ # neoval-py-utils
2
+
3
+ Python Utilities
4
+
5
+ # Development
6
+
7
+ All development must take place on a feature branch and a pull request is required; a user is not allowed to commit directly to `main`. The automated workflow in this repo (using `python-semantic-release`) requires the use of [angular style](https://github.com/angular/angular.js/blob/master/DEVELOPERS.md#commits) commit messages to update the package version and `CHANGELOG`. All commits must be formatted in this way before a user is able to merge a PR; a user who may want to develop without using this format for all commits can simply squash non-angular commit messages prior to merge. A PR may only be merged by the `rebase and merge` method. This is to ensure that only angular style commits end up on `main`.
8
+
9
+ Upon merge to `main`, the `deploy` workflow will facilitate the following:
10
+
11
+ - bump the version in `pyproject.toml`
12
+ - update the `CHANGELOG` using all commits added
13
+ - tag and release, if required
14
+ - publish to PyPi
@@ -0,0 +1,90 @@
1
+ [tool.poetry]
2
+ name = "neoval-py-utils"
3
+ version = "0.2.0"
4
+ description = ""
5
+ authors = ["Neoval <data@neoval.io>"]
6
+ readme = "README.md"
7
+
8
+ [tool.poetry.dependencies]
9
+ python = "^3.10"
10
+
11
+ [tool.poetry.group.dev.dependencies]
12
+ black = "*"
13
+ ruff = "*"
14
+ pytest = "*"
15
+ taskipy = "^1.12.2"
16
+ python-semantic-release = "^8.7.0"
17
+
18
+ [tool.taskipy.tasks]
19
+ format = "black ."
20
+ lint = "ruff check --output-format grouped src/ tests/"
21
+ test = "pytest tests/"
22
+
23
+ [tool.ruff]
24
+ line-length = 100
25
+
26
+ [tool.ruff.lint]
27
+ select = ["E", "F", "W", "D", "N", "PT", "PL", "NPY", "RUF", "UP", "YTT", "ANN"]
28
+ ignore = ["D102", "D211", "D213", "ANN101", "ANN401", "UP035"]
29
+
30
+ [tool.ruff.lint.pydocstyle]
31
+ convention = "google"
32
+
33
+ [build-system]
34
+ requires = ["poetry-core"]
35
+ build-backend = "poetry.core.masonry.api"
36
+
37
+ [tool.semantic_release]
38
+ commit_message = "{version}\n\nAutomatically generated by python-semantic-release"
39
+ commit_parser = "angular"
40
+ logging_use_named_masks = false
41
+ major_on_zero = true
42
+ tag_format = "v{version}"
43
+ version_toml = [
44
+ "pyproject.toml:tool.poetry.version",
45
+ ]
46
+ build_command = "pip install poetry && poetry build"
47
+
48
+ [tool.semantic_release.branches.main]
49
+ match = ".*"
50
+ prerelease_token = "rc"
51
+ prerelease = false
52
+
53
+ [tool.semantic_release.changelog]
54
+ changelog_file = "CHANGELOG.md"
55
+ exclude_commit_patterns = []
56
+
57
+ [tool.semantic_release.changelog.environment]
58
+ block_start_string = "{%"
59
+ block_end_string = "%}"
60
+ variable_start_string = "{{"
61
+ variable_end_string = "}}"
62
+ comment_start_string = "{#"
63
+ comment_end_string = "#}"
64
+ trim_blocks = false
65
+ lstrip_blocks = false
66
+ newline_sequence = "\n"
67
+ keep_trailing_newline = false
68
+ extensions = []
69
+ autoescape = true
70
+
71
+ [tool.semantic_release.commit_author]
72
+ env = "GIT_COMMIT_AUTHOR"
73
+ default = "semantic-release <semantic-release>"
74
+
75
+ [tool.semantic_release.commit_parser_options]
76
+ allowed_tags = ["build", "chore", "ci", "docs", "feat", "fix", "perf", "style", "refactor", "test"]
77
+ minor_tags = ["feat"]
78
+ patch_tags = ["fix", "perf"]
79
+
80
+ [tool.semantic_release.remote]
81
+ name = "origin"
82
+ type = "github"
83
+ ignore_token_for_push = false
84
+
85
+ [tool.semantic_release.remote.token]
86
+ env = "GH_TOKEN"
87
+
88
+ [tool.semantic_release.publish]
89
+ dist_glob_patterns = ["dist/*"]
90
+ upload_to_vcs_release = true
@@ -0,0 +1 @@
1
+ """Python utilities for Neoval."""
@@ -0,0 +1,6 @@
1
+ """A test utility."""
2
+
3
+
4
+ def test() -> None:
5
+ """A test."""
6
+ print("This is a test.")