WARNING: THIS SITE IS A MIRROR OF GITHUB.COM / IT CANNOT LOGIN OR REGISTER ACCOUNTS / THE CONTENTS ARE PROVIDED AS-IS / THIS SITE ASSUMES NO RESPONSIBILITY FOR ANY DISPLAYED CONTENT OR LINKS / IF YOU FOUND SOMETHING MAY NOT GOOD FOR EVERYONE, CONTACT ADMIN AT ilovescratch@foxmail.com
Skip to content

Commit 9630db5

Browse files
committed
Release 1.0.0
1 parent 53b739e commit 9630db5

File tree

9 files changed

+40
-38
lines changed

9 files changed

+40
-38
lines changed

python/CHANGELOG.md

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,13 @@ All notable changes to this project will be documented in this file.
44
The format is based on [Keep a Changelog](http://keepachangelog.com/)
55
and this project adheres to [Semantic Versioning](http://semver.org/).
66

7+
## [1.0.0] - 2025-05-28
8+
9+
### Changed
10+
11+
- Promoted to stable
12+
- Improved documentation
13+
714
## [0.4.0] - 2025-04-29
815

916
### Added
@@ -16,7 +23,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
1623
- Code cleanup and optimization for Python 3.11 features.
1724
- Improved documentation.
1825
- Changed dependency from `toml` to `tomli-w`.
19-
- Breaking changes: `Node` renamed to `OIDNode`, `NodeTYpe` renamed to `OIDNodeType`
26+
- Breaking changes: `Node` renamed to `OIDNode`, `NodeType` renamed to `OIDNodeType`
2027

2128
## [0.3.0] - 2023-10-03
2229

python/docs/changelog.txt

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,13 @@
22
Changelog
33
#########
44

5+
Version 1.0.0
6+
=============
7+
Released: 2025-05-28
8+
9+
* Promoted to stable
10+
* Improved documentation
11+
512
Version 0.4.0
613
=============
714
Released: 2025-04-29
@@ -11,7 +18,7 @@ Released: 2025-04-29
1118
* Code cleanup and optimization for Python 3.11 features.
1219
* Improved documentation.
1320
* Changed dependency from `toml` to `tomli-w`.
14-
* Breaking changes: `Node` renamed to `.OIDNode`, `NodeTYpe` renamed to `.OIDNodeType`
21+
* Breaking changes: `Node` renamed to `.OIDNode`, `NodeType` renamed to `.OIDNodeType`
1522

1623
Version 0.3.0
1724
=============

python/docs/conf.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
# https://www.sphinx-doc.org/en/master/usage/configuration.html#project-information
1111

1212
project = 'firebird-uuid'
13-
copyright = '2022, The Firebird Project'
13+
copyright = '2022-present, The Firebird Project'
1414
author = 'Pavel Císař'
1515

1616
# The short X.Y version
@@ -70,6 +70,7 @@
7070
# an arbitrary url.
7171
'navbar_links': [
7272
#("Usage Guide", "usage-guide"),
73+
("Introduction", "introduction"),
7374
("Reference", "reference"),
7475
("Index", "genindex"),
7576
],

python/docs/index.txt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22
Firebird UUID Management
33
########################
44

5-
The `firebird-uuid` package provides the official tools for working with the OID namespace
6-
managed by the `Firebird project`_.
5+
The `firebird-uuid` package provides the official tools for working with the OID namespace
6+
managed by the `Firebird project`_ at `GitHub <https://github.com/FirebirdSQL/firebird-uuid>`_.
77

88
Content
99
*******
@@ -12,6 +12,7 @@ Content
1212
:maxdepth: 2
1313
:caption: Contents:
1414

15+
introduction
1516
reference
1617
changelog
1718

python/docs/reference.txt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,13 @@ Firebird-uuid Reference
55
#######################
66

77
.. autodata:: ROOT_SPEC
8+
9+
**URL for ROOT specification**
10+
811
.. autodata:: IANA_ROOT_NAME
12+
13+
**IANA name before Firebird namespace. Does not contain trailing dot.**
14+
915
.. autodata:: oid_registry
1016

1117
.. autofunction:: get_specification

python/pyproject.toml

Lines changed: 1 addition & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ authors = [
1414
{ name = "Pavel Cisar", email = "[email protected]" },
1515
]
1616
classifiers = [
17-
"Development Status :: 4 - Beta",
17+
"Development Status :: 5 - Production/Stable",
1818
"Programming Language :: Python :: 3 :: Only",
1919
"Programming Language :: Python :: 3.11",
2020
"Programming Language :: Python :: 3.12",
@@ -59,24 +59,6 @@ allow-direct-references = true
5959
dependencies = [
6060
]
6161

62-
[tool.hatch.envs.test]
63-
dependencies = [
64-
"coverage[toml]>=6.5",
65-
"pytest",
66-
]
67-
[tool.hatch.envs.test.scripts]
68-
test = "pytest {args:tests}"
69-
test-cov = "coverage run -m pytest {args:tests}"
70-
cov-report = [
71-
"- coverage combine",
72-
"coverage report",
73-
]
74-
cov = [
75-
"test-cov",
76-
"cov-report",
77-
]
78-
version = "python --version"
79-
8062
[[tool.hatch.envs.hatch-test.matrix]]
8163
python = ["3.11", "3.12", "3.13"]
8264

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
# SPDX-FileCopyrightText: 2022-present The Firebird Projects <www.firebirdsql.org>
22
#
33
# SPDX-License-Identifier: MIT
4-
__version__ = "0.4.0"
4+
__version__ = "1.0.0"

python/src/firebird/uuid/_model.py

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -61,20 +61,18 @@
6161

6262
class OIDNodeType(Enum):
6363
"""Enumeration of possible types for an `OIDNode`.
64-
65-
Attributes:
66-
ROOT: The top-level node in a specific OID specification file.
67-
Only one true root (from IANA) exists in the full conceptual tree.
68-
LEAF: A terminal node in the hierarchy; it cannot have children defined
69-
in a separate specification file.
70-
PRIVATE: A node reserved for private use, similar to a LEAF in that it
71-
does not link to a separate specification file for children.
72-
NODE: An intermediate node that references another specification file
73-
(via `node_spec`) to define its children.
7464
"""
65+
#: The top-level node in a specific OID specification file.
66+
#: Only one true root (from IANA) exists in the full conceptual tree.
7567
ROOT = 'root'
68+
#: A terminal node in the hierarchy; it cannot have children defined
69+
#: in a separate specification file.
7670
LEAF = 'leaf'
71+
#: A node reserved for private use, similar to a LEAF in that it
72+
#: does not link to a separate specification file for children.
7773
PRIVATE = 'private'
74+
#: An intermediate node that references another specification file
75+
#: (via `node_spec`) to define its children.
7876
NODE = 'node'
7977

8078
class OIDNode(Distinct):

python/src/firebird/uuid/_registry.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ def update_from_specifications(self, specifications: dict[str, dict[str, Any]])
9999
self.update(node.children)
100100
self.update(nodes)
101101
build_tree(self._reg.values())
102-
def update_from_toml(self, toml: str) -> None:
102+
def update_from_toml(self, toml_data: str) -> None:
103103
"""Updates the registry by loading node data from a TOML document string.
104104
105105
Parses the TOML string, which is expected to contain a dictionary mapping
@@ -108,7 +108,7 @@ def update_from_toml(self, toml: str) -> None:
108108
109109
Performs validation checks before loading:
110110
111-
- Ensures the TOML data either defines a root node (`node_type`='root'
111+
- Ensures the TOML data either defines a root node (node_type='root'
112112
and no 'parent') or contains at least one node whose parent UUID
113113
already exists in the current registry.
114114
- If a root node is defined in the TOML and a root node is already
@@ -136,7 +136,7 @@ def update_from_toml(self, toml: str) -> None:
136136
KeyError: If essential keys like 'node_type' are missing in the TOML data
137137
for a node.
138138
"""
139-
data: dict[str, Any] = loads(toml)
139+
data: dict[str, Any] = loads(toml_data)
140140
# Validate data
141141
known: set[uuid.UUID] = set(self.keys())
142142
has_root_node: bool = False

0 commit comments

Comments
 (0)