lastuuid 0.1.1__tar.gz → 0.2.1__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.

Potentially problematic release.


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

Files changed (46) hide show
  1. {lastuuid-0.1.1 → lastuuid-0.2.1}/.github/workflows/build-wheels.yml +2 -2
  2. lastuuid-0.2.1/.github/workflows/publish-doc.yml +30 -0
  3. {lastuuid-0.1.1 → lastuuid-0.2.1}/.github/workflows/release.yml +12 -0
  4. {lastuuid-0.1.1 → lastuuid-0.2.1}/.github/workflows/tests.yml +1 -1
  5. lastuuid-0.2.1/CHANGELOG.md +15 -0
  6. {lastuuid-0.1.1 → lastuuid-0.2.1}/Cargo.lock +1 -1
  7. {lastuuid-0.1.1 → lastuuid-0.2.1}/Cargo.toml +1 -1
  8. {lastuuid-0.1.1 → lastuuid-0.2.1}/Justfile +13 -2
  9. lastuuid-0.2.1/PKG-INFO +96 -0
  10. {lastuuid-0.1.1 → lastuuid-0.2.1}/README.md +17 -20
  11. lastuuid-0.2.1/docs/Makefile +20 -0
  12. lastuuid-0.2.1/docs/make.bat +35 -0
  13. lastuuid-0.2.1/docs/source/changelog.md +5 -0
  14. lastuuid-0.2.1/docs/source/conf.py +102 -0
  15. lastuuid-0.2.1/docs/source/develop/index.rst +11 -0
  16. lastuuid-0.2.1/docs/source/develop/lastuuid/lastuuid.dummies.md +34 -0
  17. lastuuid-0.2.1/docs/source/develop/lastuuid/lastuuid.lastuuid.md +47 -0
  18. lastuuid-0.2.1/docs/source/develop/lastuuid/lastuuid.md +47 -0
  19. lastuuid-0.2.1/docs/source/develop/lastuuid/lastuuid.utils.md +47 -0
  20. lastuuid-0.2.1/docs/source/index.md +25 -0
  21. lastuuid-0.2.1/lastuuid/__init__.py +9 -0
  22. {lastuuid-0.1.1 → lastuuid-0.2.1}/lastuuid/dummies.py +2 -0
  23. {lastuuid-0.1.1 → lastuuid-0.2.1}/lastuuid/lastuuid.pyi +5 -0
  24. lastuuid-0.2.1/lastuuid/utils.py +72 -0
  25. lastuuid-0.2.1/pyproject.toml +56 -0
  26. lastuuid-0.2.1/src/lib.rs +60 -0
  27. lastuuid-0.2.1/tests/test_utils.py +30 -0
  28. lastuuid-0.2.1/tests/test_uuid7.py +40 -0
  29. lastuuid-0.2.1/uv.lock +890 -0
  30. lastuuid-0.1.1/CHANGELOG.md +0 -3
  31. lastuuid-0.1.1/PKG-INFO +0 -90
  32. lastuuid-0.1.1/lastuuid/__init__.py +0 -3
  33. lastuuid-0.1.1/pyproject.toml +0 -33
  34. lastuuid-0.1.1/src/lib.rs +0 -23
  35. lastuuid-0.1.1/tests/test_uuid7.py +0 -16
  36. lastuuid-0.1.1/uv.lock +0 -276
  37. {lastuuid-0.1.1 → lastuuid-0.2.1}/.github/workflows/build-sdist.yml +0 -0
  38. {lastuuid-0.1.1 → lastuuid-0.2.1}/.github/workflows/publish-pypi.yml +0 -0
  39. {lastuuid-0.1.1 → lastuuid-0.2.1}/.github/workflows/tests-artifacts.yml +0 -0
  40. {lastuuid-0.1.1 → lastuuid-0.2.1}/.gitignore +0 -0
  41. {lastuuid-0.1.1 → lastuuid-0.2.1}/.python-version +0 -0
  42. {lastuuid-0.1.1 → lastuuid-0.2.1}/lastuuid/py.typed +0 -0
  43. {lastuuid-0.1.1 → lastuuid-0.2.1}/scripts/get_version.py +0 -0
  44. {lastuuid-0.1.1 → lastuuid-0.2.1}/scripts/write_changelog.py +0 -0
  45. {lastuuid-0.1.1 → lastuuid-0.2.1}/tests/__init__.py +0 -0
  46. {lastuuid-0.1.1 → lastuuid-0.2.1}/tests/test_dummies.py +0 -0
@@ -75,11 +75,11 @@ jobs:
75
75
 
76
76
  - os: windows
77
77
  target: x86_64
78
- interpreter: 3.11 3.12 3.13
78
+ interpreter: 3.10 3.11 3.12 3.13
79
79
  - os: windows
80
80
  target: i686
81
81
  python-architecture: x86
82
- interpreter: 3.11 3.12 3.13
82
+ interpreter: 3.10 3.11 3.12 3.13
83
83
  exclude:
84
84
  # Exclude failed build
85
85
  - os: windows
@@ -0,0 +1,30 @@
1
+ name: Doc
2
+
3
+ on:
4
+ workflow_call:
5
+ inputs:
6
+ release-version:
7
+ required: true
8
+ type: string
9
+ dry-run:
10
+ required: true
11
+ type: boolean
12
+
13
+ workflow_dispatch:
14
+
15
+ jobs:
16
+ pages:
17
+ runs-on: ubuntu-20.04
18
+ environment:
19
+ name: github-pages
20
+ url: ${{ steps.deployment.outputs.page_url }}
21
+ permissions:
22
+ pages: write # Grants write access for GitHub Pages
23
+ id-token: write # Enables id-token for OIDC tokens
24
+ steps:
25
+ - id: deployment
26
+ uses: sphinx-notes/pages@v3
27
+ with:
28
+ documentation_path: docs/source
29
+ publish: ${{ !inputs.dry-run }}
30
+ python_version: 3.12
@@ -84,3 +84,15 @@ jobs:
84
84
  dry-run: ${{ needs.plan.outputs.dry-run == 'true' }}
85
85
  secrets:
86
86
  PYPI_TOKEN: ${{ secrets.PYPI_TOKEN }}
87
+
88
+ publish-doc:
89
+ needs:
90
+ - plan
91
+ - tests-artifacts
92
+ uses: ./.github/workflows/publish-doc.yml
93
+ with:
94
+ release-version: ${{ needs.plan.outputs.release_version }}
95
+ dry-run: ${{ needs.plan.outputs.dry-run == 'true' }}
96
+ permissions:
97
+ id-token: write
98
+ pages: write
@@ -27,7 +27,7 @@ jobs:
27
27
  uses: astral-sh/setup-uv@v3
28
28
 
29
29
  - name: Install the project
30
- run: uv sync
30
+ run: uv sync --group dev
31
31
 
32
32
  - name: Build tarball
33
33
  run: uv build
@@ -0,0 +1,15 @@
1
+ ## 0.2.1 - 2025-02-15
2
+
3
+ * Add more utilities in the API, such as {func}`lastuuid.uuid7_to_datetime`,
4
+ {func}`lastuuid.utils.uuid7_bounds_from_date`,
5
+ {func}`lastuuid.utils.uuid7_bounds_from_datetime`
6
+ * Build a documentation available at https://mardiros.github.io/lastuuid/
7
+
8
+ ## 0.1.2 - 2024-12-14
9
+
10
+ * Build library for windows / python 3.10 for x64 and i686 architecture
11
+ * Update readme
12
+
13
+ ## 0.1.1 - 2024-11-10
14
+
15
+ * Initial release
@@ -51,7 +51,7 @@ checksum = "b248f5224d1d606005e02c97f5aa4e88eeb230488bcc03bc9ca4d7991399f2b5"
51
51
 
52
52
  [[package]]
53
53
  name = "lastuuid"
54
- version = "0.1.1"
54
+ version = "0.2.1"
55
55
  dependencies = [
56
56
  "pyo3",
57
57
  "uuid7",
@@ -1,6 +1,6 @@
1
1
  [package]
2
2
  name = "lastuuid"
3
- version = "0.1.1"
3
+ version = "0.2.1"
4
4
  authors = ["Guillaume Gauvrit <guillaume@gauvr.it>"]
5
5
  edition = "2021"
6
6
  description = "Yest another UUID library."
@@ -4,7 +4,15 @@ develop:
4
4
  uv run maturin develop
5
5
 
6
6
  install:
7
- uv sync
7
+ uv sync --group dev --group docs
8
+
9
+ doc:
10
+ cd docs && uv run make html
11
+ xdg-open docs/build/html/index.html
12
+
13
+ cleandoc:
14
+ rm -rf docs/build
15
+ rm -rf docs/source/develop
8
16
 
9
17
  test testsuite=default_testsuite: develop
10
18
  uv run pytest -sxv {{testsuite}}
@@ -12,10 +20,13 @@ test testsuite=default_testsuite: develop
12
20
  lf:
13
21
  uv run pytest --lf -vvv
14
22
 
23
+ fmt:
24
+ uv run ruff check --fix .
25
+ uv run ruff format src tests
15
26
 
16
27
  release major_minor_patch: && changelog
17
28
  #!/bin/bash
18
- cargo release patch --no-confirm --no-tag --no-push --no-publish --execute
29
+ cargo release {{major_minor_patch}} --no-confirm --no-tag --no-push --no-publish --execute
19
30
  git reset --soft HEAD^
20
31
  export VERSION=$(head -n 10 Cargo.toml | grep version | sed 's/.*"\([^"]*\)".*/\1/')
21
32
  sed -i "s/version = \"\(.*\)\"/version = \"${VERSION}\"/" pyproject.toml
@@ -0,0 +1,96 @@
1
+ Metadata-Version: 2.4
2
+ Name: lastuuid
3
+ Version: 0.2.1
4
+ Classifier: License :: OSI Approved :: MIT License
5
+ Classifier: Programming Language :: Python :: 3
6
+ Classifier: Programming Language :: Rust
7
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
8
+ Classifier: Typing :: Typed
9
+ Requires-Dist: furo>=2024.5.6 ; extra == 'docs'
10
+ Requires-Dist: linkify-it-py>=2.0.3,<3 ; extra == 'docs'
11
+ Requires-Dist: myst-parser>=3.0.0,<4 ; python_full_version < '3.10' and extra == 'docs'
12
+ Requires-Dist: myst-parser>=4.0.0,<5 ; python_full_version >= '3.10' and extra == 'docs'
13
+ Requires-Dist: sphinx>=7.0.1,<8 ; extra == 'docs'
14
+ Requires-Dist: sphinx-autodoc2>=0.5.0,<1 ; extra == 'docs'
15
+ Provides-Extra: docs
16
+ Summary: Fast UUIDv7 Compatible with standard library type, and utils.
17
+ Keywords: uuid,UUIDv7
18
+ Author: Guillaume Gauvrit <guillaume@gauvr.it>
19
+ Author-email: Guillaume Gauvrit <guillaume@gauvr.it>
20
+ License: MIT License
21
+ Requires-Python: >=3.9
22
+ Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
23
+ Project-URL: Homepage, https://github.com/mardiros/lastuuid
24
+ Project-URL: Documentation, https://mardiros.github.io/lastuuid/
25
+ Project-URL: Repository, https://github.com/mardiros/lastuuid.git
26
+ Project-URL: Issues, https://github.com/mardiros/lastuuid/issues
27
+ Project-URL: Changelog, https://mardiros.github.io/lastuuid/changelog.html
28
+
29
+ # lastuuid - yet another uuid library
30
+
31
+ [![Documentation](https://github.com/mardiros/lastuuid/actions/workflows/publish-doc.yml/badge.svg)](https://mardiros.github.io/lastuuid/)
32
+ [![Continuous Integration](https://github.com/mardiros/lastuuid/actions/workflows/tests.yml/badge.svg)](https://github.com/mardiros/lastuuid/actions/workflows/tests.yml)
33
+ [![Maintainability](https://api.codeclimate.com/v1/badges/8e7293fabe7508b2ec6c/maintainability)](https://codeclimate.com/github/mardiros/lastuuid/maintainability)
34
+
35
+ UUID type is awesome, but, at the moment, the UUID type in the standard library
36
+ does not support the uuid7 format.
37
+
38
+ You may find plenty of library that implement uuid7, but they have downside,
39
+ such has ignoring pull request to fix issues, or not compatible with Pydantic.
40
+
41
+ ```{note}
42
+ lastuuid is a developer joke based on the nature of UUIDv7,
43
+
44
+ where the most recently generated UUID is always the last one when sorted.
45
+ ```
46
+
47
+ ## Usage
48
+
49
+ ### UUID7
50
+
51
+ ```python
52
+ >>> from lastuuid import uuid7
53
+ >>> uuid7()
54
+ UUID('019316cc-f99a-77b3-89d5-ed8c3cf1f50e')
55
+ ```
56
+
57
+ There is no parameter here, the uuid is generated from the current time.
58
+
59
+ The implementation of uuid7 algorithm is made in the uuid7 rust crate.
60
+
61
+ #### Pydantic
62
+
63
+ This lib has been created because all the other library that implement uuid7
64
+ create there own UUID type, so its not easy to use with pydantic.
65
+
66
+ ```python
67
+ from uuid import UUID
68
+ from pydantic import BaseModel, Field
69
+
70
+ from lastuuid import uuid7
71
+
72
+
73
+ class Dummy(BaseModel):
74
+ id: UUID = Field(default_factory=uuid7)
75
+
76
+ ```
77
+
78
+ #### Performance
79
+
80
+ On my machine the uuid7 is as fast (or slow) as the native uuid4.
81
+
82
+ ```bash
83
+ $ python -m timeit "from lastuuid import uuid7; uuid7()"
84
+ 200000 loops, best of 5: 1.8 usec per loop
85
+
86
+ $ python -m timeit "from uuid import uuid4; uuid4()"
87
+ 200000 loops, best of 5: 1.82 usec per loop
88
+ ```
89
+
90
+ ### Read More
91
+
92
+ There are other usefull function in the library that cab be found in the
93
+ [API documentation](https://mardiros.github.io/lastuuid/).
94
+
95
+ https://mardiros.github.io/lastuuid/
96
+
@@ -1,8 +1,21 @@
1
1
  # lastuuid - yet another uuid library
2
2
 
3
+ [![Documentation](https://github.com/mardiros/lastuuid/actions/workflows/publish-doc.yml/badge.svg)](https://mardiros.github.io/lastuuid/)
4
+ [![Continuous Integration](https://github.com/mardiros/lastuuid/actions/workflows/tests.yml/badge.svg)](https://github.com/mardiros/lastuuid/actions/workflows/tests.yml)
5
+ [![Maintainability](https://api.codeclimate.com/v1/badges/8e7293fabe7508b2ec6c/maintainability)](https://codeclimate.com/github/mardiros/lastuuid/maintainability)
6
+
3
7
  UUID type is awesome, but, at the moment, the UUID type in the standard library
4
8
  does not support the uuid7 format.
5
9
 
10
+ You may find plenty of library that implement uuid7, but they have downside,
11
+ such has ignoring pull request to fix issues, or not compatible with Pydantic.
12
+
13
+ ```{note}
14
+ lastuuid is a developer joke based on the nature of UUIDv7,
15
+
16
+ where the most recently generated UUID is always the last one when sorted.
17
+ ```
18
+
6
19
  ## Usage
7
20
 
8
21
  ### UUID7
@@ -46,25 +59,9 @@ $ python -m timeit "from uuid import uuid4; uuid4()"
46
59
  200000 loops, best of 5: 1.82 usec per loop
47
60
  ```
48
61
 
49
- ### Testing with uuid without brain
62
+ ### Read More
50
63
 
51
- Autoincrement your uuid in a test suite avoid some brain pain.
64
+ There are other usefull function in the library that cab be found in the
65
+ [API documentation](https://mardiros.github.io/lastuuid/).
52
66
 
53
- ```python
54
- >>> from lastuuid.dummies import uuidgen
55
- >>> uuidgen()
56
- UUID('00000000-0000-0000-0000-000000000001')
57
- >>> uuidgen()
58
- UUID('00000000-0000-0000-0000-000000000002')
59
- ```
60
-
61
- Or event more readable;
62
- UUID predicted, where only the first bytes needs to be read.
63
-
64
- ```python
65
- >>> from lastuuid.dummies import uuidgen
66
- >>> uuidgen(1)
67
- UUID('00000001-0000-0000-0000-000000000000')
68
- >>> uuidgen(1,2,3,4,5)
69
- UUID('00000001-0002-0003-0004-000000000005')
70
- ```
67
+ https://mardiros.github.io/lastuuid/
@@ -0,0 +1,20 @@
1
+ # Minimal makefile for Sphinx documentation
2
+ #
3
+
4
+ # You can set these variables from the command line, and also
5
+ # from the environment for the first two.
6
+ SPHINXOPTS ?=
7
+ SPHINXBUILD ?= sphinx-build
8
+ SOURCEDIR = source
9
+ BUILDDIR = build
10
+
11
+ # Put it first so that "make" without argument is like "make help".
12
+ help:
13
+ @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
14
+
15
+ .PHONY: help Makefile
16
+
17
+ # Catch-all target: route all unknown targets to Sphinx using the new
18
+ # "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
19
+ %: Makefile
20
+ @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
@@ -0,0 +1,35 @@
1
+ @ECHO OFF
2
+
3
+ pushd %~dp0
4
+
5
+ REM Command file for Sphinx documentation
6
+
7
+ if "%SPHINXBUILD%" == "" (
8
+ set SPHINXBUILD=sphinx-build
9
+ )
10
+ set SOURCEDIR=source
11
+ set BUILDDIR=build
12
+
13
+ if "%1" == "" goto help
14
+
15
+ %SPHINXBUILD% >NUL 2>NUL
16
+ if errorlevel 9009 (
17
+ echo.
18
+ echo.The 'sphinx-build' command was not found. Make sure you have Sphinx
19
+ echo.installed, then set the SPHINXBUILD environment variable to point
20
+ echo.to the full path of the 'sphinx-build' executable. Alternatively you
21
+ echo.may add the Sphinx directory to PATH.
22
+ echo.
23
+ echo.If you don't have Sphinx installed, grab it from
24
+ echo.https://www.sphinx-doc.org/
25
+ exit /b 1
26
+ )
27
+
28
+ %SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O%
29
+ goto end
30
+
31
+ :help
32
+ %SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O%
33
+
34
+ :end
35
+ popd
@@ -0,0 +1,5 @@
1
+ # Changelog
2
+
3
+
4
+ ```{include} ../../CHANGELOG.md
5
+ ```
@@ -0,0 +1,102 @@
1
+ # Configuration file for the Sphinx documentation builder.
2
+ #
3
+ # This file only contains a selection of the most common options. For a full
4
+ # list see the documentation:
5
+ # https://www.sphinx-doc.org/en/master/usage/configuration.html
6
+
7
+ # -- Path setup --------------------------------------------------------------
8
+
9
+ # If extensions (or modules to document with autodoc) are in another directory,
10
+ # add these directories to sys.path here. If the directory is relative to the
11
+ # documentation root, use os.path.abspath to make it absolute, like shown here.
12
+ #
13
+ import os
14
+ import sys
15
+
16
+ import tomllib
17
+
18
+ sys.path.insert(0, os.path.abspath("../../src"))
19
+
20
+
21
+ # -- Project information -----------------------------------------------------
22
+ def _get_project_meta():
23
+ with open("../../pyproject.toml", "rb") as pyproject:
24
+ return tomllib.load(pyproject)["project"]
25
+
26
+
27
+ pkg_meta = _get_project_meta()
28
+ project = str(pkg_meta["name"])
29
+ author = f"{pkg_meta['authors'][0]['name']} <{pkg_meta['authors'][0]['email']}>"
30
+ copyright = f"{pkg_meta['authors'][0]['name']} and contributors"
31
+
32
+ # The short X.Y version
33
+ version = str(pkg_meta["version"])
34
+ # The full version, including alpha/beta/rc tags
35
+ release = version
36
+
37
+
38
+ # -- General configuration ---------------------------------------------------
39
+
40
+ # Add any Sphinx extension module names here, as strings. They can be
41
+ # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
42
+ # ones.
43
+ extensions = [
44
+ "myst_parser",
45
+ "autodoc2",
46
+ ]
47
+
48
+ autodoc2_packages = [
49
+ {"path": "../../lastuuid"},
50
+ ]
51
+
52
+ autodoc2_module_all_regexes = [
53
+ "lastuuid",
54
+ r"lastuuid\.utils",
55
+ r"lastuuid\.dummies",
56
+ ]
57
+
58
+ autodoc2_docstring_parser_regexes = [
59
+ # this will render all docstrings as Markdown
60
+ (r".*", "myst"),
61
+ ]
62
+
63
+ autodoc2_hidden_objects = ["undoc", "private", "inherited"]
64
+ autodoc2_render_plugin = "myst"
65
+
66
+ autodoc2_output_dir = "develop"
67
+ autodoc2_sort_names = True
68
+
69
+ # Configure MyST parser
70
+ myst_enable_extensions = [
71
+ "colon_fence",
72
+ "html_admonition",
73
+ "html_image",
74
+ "replacements",
75
+ "smartquotes",
76
+ "substitution",
77
+ "tasklist",
78
+ "deflist",
79
+ "fieldlist",
80
+ "linkify",
81
+ ]
82
+
83
+
84
+ # Add any paths that contain templates here, relative to this directory.
85
+ templates_path = ["_templates"]
86
+
87
+ # List of patterns, relative to source directory, that match files and
88
+ # directories to ignore when looking for source files.
89
+ # This pattern also affects html_static_path and html_extra_path.
90
+ exclude_patterns = []
91
+
92
+ # -- Options for HTML output -------------------------------------------------
93
+
94
+ # The theme to use for HTML and HTML Help pages. See the documentation for
95
+ # a list of builtin themes.
96
+ #
97
+ html_theme = "furo"
98
+
99
+ # Add any paths that contain custom static files (such as style sheets) here,
100
+ # relative to this directory. They are copied after the builtin static files,
101
+ # so a file named "default.css" will overwrite the builtin "default.css".
102
+ html_static_path = [] # "_static"]
@@ -0,0 +1,11 @@
1
+ API Reference
2
+ =============
3
+
4
+ This page contains auto-generated API reference documentation [#f1]_.
5
+
6
+ .. toctree::
7
+ :titlesonly:
8
+
9
+ lastuuid/lastuuid
10
+
11
+ .. [#f1] Created with `sphinx-autodoc2 <https://github.com/chrisjsewell/sphinx-autodoc2>`_
@@ -0,0 +1,34 @@
1
+ # {py:mod}`lastuuid.dummies`
2
+
3
+ ```{py:module} lastuuid.dummies
4
+ ```
5
+
6
+ ```{autodoc2-docstring} lastuuid.dummies
7
+ :parser: myst
8
+ :allowtitles:
9
+ ```
10
+
11
+ ## Module Contents
12
+
13
+ ### Functions
14
+
15
+ ````{list-table}
16
+ :class: autosummary longtable
17
+ :align: left
18
+
19
+ * - {py:obj}`uuidgen <lastuuid.dummies.uuidgen>`
20
+ - ```{autodoc2-docstring} lastuuid.dummies.uuidgen
21
+ :parser: myst
22
+ :summary:
23
+ ```
24
+ ````
25
+
26
+ ### API
27
+
28
+ ````{py:function} uuidgen(i: int = 0, j: int = 0, k: int = 0, x: int = 0, y: int = 0) -> uuid.UUID
29
+ :canonical: lastuuid.dummies.uuidgen
30
+
31
+ ```{autodoc2-docstring} lastuuid.dummies.uuidgen
32
+ :parser: myst
33
+ ```
34
+ ````
@@ -0,0 +1,47 @@
1
+ # {py:mod}`lastuuid.lastuuid`
2
+
3
+ ```{py:module} lastuuid.lastuuid
4
+ ```
5
+
6
+ ```{autodoc2-docstring} lastuuid.lastuuid
7
+ :parser: myst
8
+ :allowtitles:
9
+ ```
10
+
11
+ ## Module Contents
12
+
13
+ ### Functions
14
+
15
+ ````{list-table}
16
+ :class: autosummary longtable
17
+ :align: left
18
+
19
+ * - {py:obj}`uuid7 <lastuuid.lastuuid.uuid7>`
20
+ - ```{autodoc2-docstring} lastuuid.lastuuid.uuid7
21
+ :parser: myst
22
+ :summary:
23
+ ```
24
+ * - {py:obj}`uuid7_to_datetime <lastuuid.lastuuid.uuid7_to_datetime>`
25
+ - ```{autodoc2-docstring} lastuuid.lastuuid.uuid7_to_datetime
26
+ :parser: myst
27
+ :summary:
28
+ ```
29
+ ````
30
+
31
+ ### API
32
+
33
+ ````{py:function} uuid7() -> uuid.UUID
34
+ :canonical: lastuuid.lastuuid.uuid7
35
+
36
+ ```{autodoc2-docstring} lastuuid.lastuuid.uuid7
37
+ :parser: myst
38
+ ```
39
+ ````
40
+
41
+ ````{py:function} uuid7_to_datetime(uuid7: uuid.UUID, tz=timezone.utc) -> datetime.datetime
42
+ :canonical: lastuuid.lastuuid.uuid7_to_datetime
43
+
44
+ ```{autodoc2-docstring} lastuuid.lastuuid.uuid7_to_datetime
45
+ :parser: myst
46
+ ```
47
+ ````
@@ -0,0 +1,47 @@
1
+ # {py:mod}`lastuuid`
2
+
3
+ ```{py:module} lastuuid
4
+ ```
5
+
6
+ ```{autodoc2-docstring} lastuuid
7
+ :parser: myst
8
+ :allowtitles:
9
+ ```
10
+
11
+ ## Package Contents
12
+
13
+ ### Functions
14
+
15
+ ````{list-table}
16
+ :class: autosummary longtable
17
+ :align: left
18
+
19
+ * - {py:obj}`uuid7 <lastuuid.lastuuid.uuid7>`
20
+ - ```{autodoc2-docstring} lastuuid.lastuuid.uuid7
21
+ :parser: myst
22
+ :summary:
23
+ ```
24
+ * - {py:obj}`uuid7_to_datetime <lastuuid.lastuuid.uuid7_to_datetime>`
25
+ - ```{autodoc2-docstring} lastuuid.lastuuid.uuid7_to_datetime
26
+ :parser: myst
27
+ :summary:
28
+ ```
29
+ ````
30
+
31
+ ### API
32
+
33
+ ````{py:function} uuid7() -> uuid.UUID
34
+ :canonical: lastuuid.lastuuid.uuid7
35
+
36
+ ```{autodoc2-docstring} lastuuid.lastuuid.uuid7
37
+ :parser: myst
38
+ ```
39
+ ````
40
+
41
+ ````{py:function} uuid7_to_datetime(uuid7: uuid.UUID, tz=timezone.utc) -> datetime.datetime
42
+ :canonical: lastuuid.lastuuid.uuid7_to_datetime
43
+
44
+ ```{autodoc2-docstring} lastuuid.lastuuid.uuid7_to_datetime
45
+ :parser: myst
46
+ ```
47
+ ````
@@ -0,0 +1,47 @@
1
+ # {py:mod}`lastuuid.utils`
2
+
3
+ ```{py:module} lastuuid.utils
4
+ ```
5
+
6
+ ```{autodoc2-docstring} lastuuid.utils
7
+ :parser: myst
8
+ :allowtitles:
9
+ ```
10
+
11
+ ## Module Contents
12
+
13
+ ### Functions
14
+
15
+ ````{list-table}
16
+ :class: autosummary longtable
17
+ :align: left
18
+
19
+ * - {py:obj}`uuid7_bounds_from_date <lastuuid.utils.uuid7_bounds_from_date>`
20
+ - ```{autodoc2-docstring} lastuuid.utils.uuid7_bounds_from_date
21
+ :parser: myst
22
+ :summary:
23
+ ```
24
+ * - {py:obj}`uuid7_bounds_from_datetime <lastuuid.utils.uuid7_bounds_from_datetime>`
25
+ - ```{autodoc2-docstring} lastuuid.utils.uuid7_bounds_from_datetime
26
+ :parser: myst
27
+ :summary:
28
+ ```
29
+ ````
30
+
31
+ ### API
32
+
33
+ ````{py:function} uuid7_bounds_from_date(dt: datetime.date, tz=UTC) -> typing_extensions.Tuple[uuid.UUID, uuid.UUID]
34
+ :canonical: lastuuid.utils.uuid7_bounds_from_date
35
+
36
+ ```{autodoc2-docstring} lastuuid.utils.uuid7_bounds_from_date
37
+ :parser: myst
38
+ ```
39
+ ````
40
+
41
+ ````{py:function} uuid7_bounds_from_datetime(dt_lower: datetime.datetime, dt_upper: datetime.datetime | None = None) -> typing_extensions.Tuple[uuid.UUID, uuid.UUID]
42
+ :canonical: lastuuid.utils.uuid7_bounds_from_datetime
43
+
44
+ ```{autodoc2-docstring} lastuuid.utils.uuid7_bounds_from_datetime
45
+ :parser: myst
46
+ ```
47
+ ````
@@ -0,0 +1,25 @@
1
+ ```{include} ../../README.md
2
+
3
+ ```
4
+
5
+ ```{toctree}
6
+ :maxdepth: 1
7
+ :caption: API:
8
+
9
+ develop/lastuuid/lastuuid
10
+ develop/lastuuid/lastuuid.dummies
11
+ develop/lastuuid/lastuuid.utils
12
+ ```
13
+
14
+ ```{toctree}
15
+ :maxdepth: 1
16
+ :caption: Changelog:
17
+
18
+ changelog
19
+ ```
20
+
21
+ ## Indices and tables
22
+
23
+ - {ref}`genindex`
24
+ - {ref}`modindex`
25
+ - {ref}`search`
@@ -0,0 +1,9 @@
1
+ """
2
+ lastuuid API.
3
+ """
4
+ from .lastuuid import uuid7, uuid7_to_datetime
5
+
6
+ __all__ = [
7
+ "uuid7",
8
+ "uuid7_to_datetime",
9
+ ]