mpxnk-test-library-sec 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.
@@ -0,0 +1,44 @@
1
+ Metadata-Version: 2.4
2
+ Name: mpxnk-test-library-sec
3
+ Version: 0.1.0
4
+ Summary: LIB_DESCRIPTION
5
+ License: MIT
6
+ Author: meowthpxnk
7
+ Author-email: meowthpxnk@gmail.com
8
+ Requires-Python: >=3.10
9
+ Classifier: Programming Language :: Python :: 3
10
+ Classifier: License :: OSI Approved :: MIT License
11
+ Classifier: Operating System :: OS Independent
12
+ Project-URL: changelog, https://github.com/meowthpxnk/mpxnk-test-library-sec/blob/main/CHANGELOG.md
13
+ Project-URL: github, https://github.com/meowthpxnk/mpxnk-test-library-sec
14
+ Description-Content-Type: text/markdown
15
+
16
+ # My own python library tempolate
17
+
18
+ ## Usage
19
+
20
+ 1. Add new repository in PyPI
21
+ Go to https://pypi.org/manage/account/publishing
22
+ Add new GitHub repository
23
+ - Project name - Your project name
24
+ - Owner - Your github username
25
+ - Repository - Repository name
26
+ - Workflow name - `publish.yaml`
27
+ - Environment name - `publish`
28
+
29
+ 2. Run renaming script
30
+
31
+ ```sh
32
+ poetry run rename_lib
33
+ ```
34
+
35
+ 3. Replace `LIB_DESCRIPTION` in pyproject.toml with your library description.
36
+
37
+ 4. Update and push your project.
38
+
39
+ 5. Go to github repository actions and run CI/CD workflow.
40
+
41
+ ## Workflow usage
42
+
43
+ Workflow has
44
+
@@ -0,0 +1,28 @@
1
+ # My own python library tempolate
2
+
3
+ ## Usage
4
+
5
+ 1. Add new repository in PyPI
6
+ Go to https://pypi.org/manage/account/publishing
7
+ Add new GitHub repository
8
+ - Project name - Your project name
9
+ - Owner - Your github username
10
+ - Repository - Repository name
11
+ - Workflow name - `publish.yaml`
12
+ - Environment name - `publish`
13
+
14
+ 2. Run renaming script
15
+
16
+ ```sh
17
+ poetry run rename_lib
18
+ ```
19
+
20
+ 3. Replace `LIB_DESCRIPTION` in pyproject.toml with your library description.
21
+
22
+ 4. Update and push your project.
23
+
24
+ 5. Go to github repository actions and run CI/CD workflow.
25
+
26
+ ## Workflow usage
27
+
28
+ Workflow has
@@ -0,0 +1,2 @@
1
+ def func() -> None:
2
+ print(10 + 2)
@@ -0,0 +1,137 @@
1
+ # --> Project
2
+ [project]
3
+ name = "mpxnk-test-library-sec"
4
+ version = "0.1.0"
5
+ description = "LIB_DESCRIPTION"
6
+ license = { text = "MIT" }
7
+ requires-python = ">=3.10"
8
+ readme = "README.md"
9
+ dependencies = []
10
+ authors = [{ name = "meowthpxnk", email = "meowthpxnk@gmail.com" }]
11
+ classifiers = [
12
+ "Programming Language :: Python :: 3",
13
+ "License :: OSI Approved :: MIT License",
14
+ "Operating System :: OS Independent",
15
+ ]
16
+ urls = { github = "https://github.com/meowthpxnk/mpxnk-test-library-sec", changelog = "https://github.com/meowthpxnk/mpxnk-test-library-sec/blob/main/CHANGELOG.md" }
17
+
18
+ # --> Poetry
19
+ [tool.poetry]
20
+ packages = [{ include = "mpxnk_test_library_sec" }]
21
+
22
+ # =============================================================================
23
+ # ๐Ÿงฉ Development Dependencies (dev-only)
24
+ # =============================================================================
25
+ # Tools for linting, testing, formatting, and pre-commit hooks.
26
+ # Installed via: `poetry install` (with --with dev)
27
+ # =============================================================================
28
+ [tool.poetry.group.dev.dependencies]
29
+ ruff = "^0.4.0" # Fast linter, formatter, import sorter
30
+ pytest = "^8.0" # Testing framework
31
+ pytest-custom-exit-code = "^0.3.0"
32
+ pre-commit = "^3.7" # Git hook manager
33
+ python-dotenv = "^1.1.1"
34
+ # -> for semantic release
35
+ python-semantic-release = "^9.0"
36
+
37
+ [tool.poetry.group.dev]
38
+ optional = true
39
+
40
+ # --> Build system
41
+ # =============================================================================
42
+ # ๐Ÿš€ Build System (required for Poetry)
43
+ # =============================================================================
44
+ [build-system]
45
+ # requires = ["setuptools", "wheel"]
46
+ # build-backend = "setuptools.build_meta"
47
+ requires = ["poetry-core"]
48
+ build-backend = "poetry.core.masonry.api"
49
+
50
+
51
+ # --> Linting
52
+ # =============================================================================
53
+ # ๐Ÿ–Œ๏ธ ruff โ€” Fast Python Linter & Code Quality
54
+ # =============================================================================
55
+ # Replaces flake8, isort, pyupgrade, and more.
56
+ # =============================================================================
57
+ [tool.ruff]
58
+ # General
59
+ src = ["."] # Root for resolving first-party imports
60
+ line-length = 79 # PEP 8 standard
61
+
62
+ # Exclude files/dirs
63
+ exclude = [
64
+ ".git",
65
+ "__pycache__",
66
+ ".mypy_cache",
67
+ ".venv",
68
+ "venv",
69
+ "env",
70
+ "__init__.py",
71
+ "README.md",
72
+ "./scripts",
73
+ ]
74
+
75
+ [tool.ruff.lint]
76
+ select = ["E", "W", "F", "I", "UP", "A", "B", "C4", "SIM", "ANN"]
77
+ ignore = ["ANN101", "ANN102", "ANN204"]
78
+ fixable = ["ALL"]
79
+ unfixable = []
80
+ # Per-file ignores (e.g., relaxed rules in tests)
81
+ [tool.ruff.lint.per-file-ignores]
82
+ "pytest/*" = [
83
+ "ANN201", # Missing return type (top-level function)
84
+ "ANN204", # Missing return type (method)
85
+ "ANN205", # Missing return type (coroutine)
86
+ "ANN206", # Missing return type (async method)
87
+ "ANN001", # Missing type annotation for *args
88
+ "ANN002", # Missing type annotation for **kwargs
89
+ "S101", # Use of `assert` (allowed in tests)
90
+ "E501", # Line too long (handled by black/ruff line-length)
91
+ ]
92
+
93
+ # Import sorting (isort-style)
94
+ [tool.ruff.lint.isort]
95
+ known-first-party = ["mpxnk_test_library_sec"] # โ† Replace with your actual package name
96
+
97
+ # --> Tests
98
+ # =============================================================================
99
+ # ๐Ÿงช pytest โ€” Testing Framework
100
+ # =============================================================================
101
+ [tool.pytest.ini_options]
102
+ minversion = "6.0"
103
+ testpaths = ["pytest"] # Where to look for tests
104
+ python_files = ["test_*.py"] # Test file pattern
105
+ pythonpath = ["."] # Add root to Python path
106
+ addopts = "-v -x --tb=short --suppress-no-test-exit-code" # Verbose, stop on first fail, short traceback
107
+ markers = [
108
+ "unit: Quick core isolated tests",
109
+ "integration: Heavy integration tests with fixtures",
110
+ ]
111
+
112
+ # --> Semaintic version
113
+ [tool.semantic_release]
114
+ version_toml = [
115
+ "pyproject.toml:project.version"
116
+ ]
117
+ upload_to_pypi = false
118
+ upload_to_release = true
119
+ commit_parser = "conventional"
120
+
121
+ [tool.semantic_release.branches.main]
122
+ match = "main"
123
+
124
+ [tool.semantic_release.branches.support-v01]
125
+ match = "support/v0.1.x"
126
+
127
+ # =============================================================================
128
+ # ๐Ÿ“œ Settings CHANGELOG.md
129
+ # =============================================================================
130
+ [tool.semantic_release.changelog.categories]
131
+ changelog_file = "CHANGELOG.md"
132
+
133
+ # =============================================================================
134
+ # ๐Ÿ•น๏ธ User scripts
135
+ # =============================================================================
136
+ [tool.poetry.scripts]
137
+ rename_lib = "scripts.rename_lib:main"