valid8r 0.7.0__py3-none-any.whl → 0.7.2__py3-none-any.whl

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.

Potentially problematic release.


This version of valid8r might be problematic. Click here for more details.

valid8r/core/maybe.py CHANGED
@@ -20,7 +20,7 @@ T = TypeVar('T')
20
20
  U = TypeVar('U')
21
21
 
22
22
 
23
- class Maybe(Generic[T], ABC):
23
+ class Maybe(ABC, Generic[T]):
24
24
  """Base class for the Maybe monad."""
25
25
 
26
26
  @staticmethod
@@ -1,13 +1,15 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: valid8r
3
- Version: 0.7.0
3
+ Version: 0.7.2
4
4
  Summary: Clean, flexible input validation for Python applications
5
+ Project-URL: Homepage, https://valid8r.readthedocs.io/
6
+ Project-URL: Repository, https://github.com/mikelane/valid8r
7
+ Project-URL: Documentation, https://valid8r.readthedocs.io/
8
+ Project-URL: Issues, https://github.com/mikelane/valid8r/issues
9
+ Author-email: Mike Lane <mikelane@gmail.com>
5
10
  License: MIT
6
11
  License-File: LICENSE
7
- Keywords: validation,input,cli,maybe-monad,parsing,functional-programming
8
- Author: Mike Lane
9
- Author-email: mikelane@gmail.com
10
- Requires-Python: >=3.11,<4.0
12
+ Keywords: cli,functional-programming,input,maybe-monad,parsing,validation
11
13
  Classifier: Development Status :: 5 - Production/Stable
12
14
  Classifier: Intended Audience :: Developers
13
15
  Classifier: License :: OSI Approved :: MIT License
@@ -20,13 +22,11 @@ Classifier: Programming Language :: Python :: 3.14
20
22
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
21
23
  Classifier: Topic :: Software Development :: Quality Assurance
22
24
  Classifier: Typing :: Typed
23
- Requires-Dist: email-validator (>=2.3.0,<3.0.0)
24
- Requires-Dist: pydantic (>=2.0)
25
- Requires-Dist: pydantic-core (>=2.27.0,<3.0.0)
26
- Requires-Dist: uuid-utils (>=0.11.0,<0.12.0)
27
- Project-URL: Documentation, https://valid8r.readthedocs.io/
28
- Project-URL: Homepage, https://valid8r.readthedocs.io/
29
- Project-URL: Repository, https://github.com/mikelane/valid8r
25
+ Requires-Python: >=3.11
26
+ Requires-Dist: email-validator>=2.3.0
27
+ Requires-Dist: pydantic-core>=2.27.0
28
+ Requires-Dist: pydantic>=2.0
29
+ Requires-Dist: uuid-utils>=0.11.0
30
30
  Description-Content-Type: text/markdown
31
31
 
32
32
  # Valid8r
@@ -269,31 +269,38 @@ For more examples, see the [documentation](https://valid8r.readthedocs.io/).
269
269
 
270
270
  ## Development
271
271
 
272
- This project uses Poetry for dependency management and Tox for testing.
272
+ This project uses `uv` for fast dependency management and `tox` for testing across Python versions.
273
273
 
274
274
  ### Setup
275
275
 
276
276
  ```bash
277
- # Install Poetry
278
- curl -sSL https://install.python-poetry.org | python3 -
277
+ # Install uv
278
+ curl -LsSf https://astral.sh/uv/install.sh | sh
279
279
 
280
280
  # Install dependencies
281
- poetry install
281
+ uv sync
282
282
  ```
283
283
 
284
284
  ### Running Tests
285
285
 
286
286
  ```bash
287
287
  # Run all tests
288
- poetry run tox
288
+ uv run tox
289
+
290
+ # Run unit tests only
291
+ uv run pytest tests/unit
289
292
 
290
293
  # Run BDD tests
291
- poetry run tox -e bdd
294
+ uv run tox -e bdd
295
+
296
+ # Run with coverage
297
+ uv run pytest --cov=valid8r tests/unit
292
298
  ```
293
299
 
300
+ See [docs/migration-poetry-to-uv.md](docs/migration-poetry-to-uv.md) for the complete migration guide and command reference.
301
+
294
302
  ## License
295
303
 
296
304
  This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
297
305
 
298
306
  Copyright (c) 2025 Mike Lane
299
-
@@ -1,18 +1,18 @@
1
1
  valid8r/__init__.py,sha256=2fzSl6XtKX44sdqzf0GBTn4oEaCvhmyGkdsPDMJjZz8,447
2
2
  valid8r/core/__init__.py,sha256=ASOdzqCtpZHbHjjYMZkb78Z-nKxtD26ruTY0bd43ImA,520
3
3
  valid8r/core/combinators.py,sha256=KvRiDEqoZgH58cBYPO6SW9pdtkyijk0lS8aGSB5DbO4,2349
4
- valid8r/core/maybe.py,sha256=ifz15tDMwRaQLsYvU3pWGBZBxJ2JyyOW-g5YpOw_-3w,4643
4
+ valid8r/core/maybe.py,sha256=kuD5SsWc6148FkcLBcwmRTPi6D7H4w1dRT8lPrUvYMw,4643
5
5
  valid8r/core/parsers.py,sha256=WYAgwCIh8HyrXr0AoZeqa0c43-_iVIK_S3wb2lha73c,67456
6
6
  valid8r/core/validators.py,sha256=e3B_fi7ch5m0Zczg87r8AhrgEdBTcbz-aygrKCvi0dg,18537
7
7
  valid8r/prompt/__init__.py,sha256=XYB3NEp-tmqT6fGmETVEeXd7Urj0M4ijlwdRAjj-rG8,175
8
8
  valid8r/prompt/basic.py,sha256=fFARuy5nGTE7xM3dB1jpRC3OPNmp4WwaymFMz7BSgdo,7635
9
- valid8r/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
10
9
  valid8r/testing/__init__.py,sha256=8mk54zt0Ai2dK0a3GMOTfDPsVQWXaS6uvQJDrkRV9hs,779
11
10
  valid8r/testing/assertions.py,sha256=9KGz1JooCoyikyxMX7VuXB9VYAtj-4H_LPYFGdvS-ps,1820
12
11
  valid8r/testing/generators.py,sha256=kAV6NRO9x1gPy0BfGs07ETVxjpTIxOZyV9wH2BA1nHA,8791
13
12
  valid8r/testing/mock_input.py,sha256=9GRT7h0PCh9Dea-OcQ5Uls7YqhsTdqMWuX6I6ZlW1aw,2334
14
- valid8r-0.7.0.dist-info/METADATA,sha256=X7tG_qUhsJ3LE0M28nIDMjERAiTOp_xcHnSen9RbXgU,10458
15
- valid8r-0.7.0.dist-info/WHEEL,sha256=zp0Cn7JsFoX2ATtOhtaFYIiE2rmFAD4OcMhtUki8W3U,88
16
- valid8r-0.7.0.dist-info/entry_points.txt,sha256=H_24A4zUgnKIXAIRosJliIcntyqMfmcgKh5_Prl7W18,79
17
- valid8r-0.7.0.dist-info/licenses/LICENSE,sha256=JpEmJvRYOTIUt0UjgvpDrd3U94Wnbt_Grr5z-xU2jtk,1066
18
- valid8r-0.7.0.dist-info/RECORD,,
13
+ valid8r/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
14
+ valid8r-0.7.2.dist-info/METADATA,sha256=TKweTlPgU5pAjM8lQGCyESnabf-42B6-n-ataTX13Es,10711
15
+ valid8r-0.7.2.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
16
+ valid8r-0.7.2.dist-info/entry_points.txt,sha256=x2MRzcIGcUR5e4GmhLadGdT7YbbohJRMUVubgaR8v_s,82
17
+ valid8r-0.7.2.dist-info/licenses/LICENSE,sha256=JpEmJvRYOTIUt0UjgvpDrd3U94Wnbt_Grr5z-xU2jtk,1066
18
+ valid8r-0.7.2.dist-info/RECORD,,
@@ -1,4 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: poetry-core 2.2.1
2
+ Generator: hatchling 1.27.0
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
@@ -0,0 +1,3 @@
1
+ [console_scripts]
2
+ docs-build = scripts.docs:build
3
+ docs-serve = scripts.docs:serve
@@ -1,4 +0,0 @@
1
- [console_scripts]
2
- docs-build=scripts.docs:build
3
- docs-serve=scripts.docs:serve
4
-