ramtable 0.3.1__tar.gz → 0.3.2__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.
- {ramtable-0.3.1 → ramtable-0.3.2}/.github/workflows/tests.yml +2 -1
- {ramtable-0.3.1 → ramtable-0.3.2}/CHANGELOG.md +17 -1
- {ramtable-0.3.1 → ramtable-0.3.2}/PKG-INFO +13 -10
- {ramtable-0.3.1 → ramtable-0.3.2}/README.md +9 -7
- {ramtable-0.3.1 → ramtable-0.3.2}/docs/api.md +16 -3
- {ramtable-0.3.1 → ramtable-0.3.2}/docs/development.md +14 -5
- {ramtable-0.3.1 → ramtable-0.3.2}/pyproject.toml +4 -3
- ramtable-0.3.2/src/ramtable/__init__.py +24 -0
- ramtable-0.3.1/src/ramtable/__init__.py +0 -15
- {ramtable-0.3.1 → ramtable-0.3.2}/.github/workflows/publish-test.yml +0 -0
- {ramtable-0.3.1 → ramtable-0.3.2}/.github/workflows/publish.yml +0 -0
- {ramtable-0.3.1 → ramtable-0.3.2}/.gitignore +0 -0
- {ramtable-0.3.1 → ramtable-0.3.2}/LICENSE +0 -0
- {ramtable-0.3.1 → ramtable-0.3.2}/docs/guide.md +0 -0
- {ramtable-0.3.1 → ramtable-0.3.2}/docs/types-and-validation.md +0 -0
- {ramtable-0.3.1 → ramtable-0.3.2}/src/ramtable/columns.py +0 -0
- {ramtable-0.3.1 → ramtable-0.3.2}/src/ramtable/rows.py +0 -0
- {ramtable-0.3.1 → ramtable-0.3.2}/src/ramtable/table.py +0 -0
- {ramtable-0.3.1 → ramtable-0.3.2}/src/ramtable/types.py +0 -0
|
@@ -3,6 +3,23 @@
|
|
|
3
3
|
Notable changes to RAMTable are documented in this file. The history starts
|
|
4
4
|
with the project's first version.
|
|
5
5
|
|
|
6
|
+
## [0.3.2]
|
|
7
|
+
|
|
8
|
+
Raises the minimum supported Python version, expands the tested versions,
|
|
9
|
+
and centralizes the package version.
|
|
10
|
+
|
|
11
|
+
### Added
|
|
12
|
+
|
|
13
|
+
- `ramtable.__version__` exposes the installed distribution version, read
|
|
14
|
+
from package metadata.
|
|
15
|
+
|
|
16
|
+
### Changed
|
|
17
|
+
|
|
18
|
+
- Python 3.11 or later is now required; support for Python 3.10 was removed.
|
|
19
|
+
- Added Python 3.14 and 3.15 to the test matrix and package classifiers.
|
|
20
|
+
- `pyproject.toml` is the single source of truth for the version; the README
|
|
21
|
+
uses a dynamic PyPI badge instead of a hardcoded number.
|
|
22
|
+
|
|
6
23
|
## [0.3.1]
|
|
7
24
|
|
|
8
25
|
Publishes RAMTable to the official PyPI index alongside TestPyPI.
|
|
@@ -19,7 +36,6 @@ Publishes RAMTable to the official PyPI index alongside TestPyPI.
|
|
|
19
36
|
|
|
20
37
|
- Installation documentation covers stable releases from PyPI and
|
|
21
38
|
pre-releases from TestPyPI.
|
|
22
|
-
- `pyproject.toml` reports version `0.3.1rc0`.
|
|
23
39
|
|
|
24
40
|
## [0.3.0]
|
|
25
41
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: ramtable
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.2
|
|
4
4
|
Summary: A lightweight in-memory table library for Python.
|
|
5
5
|
Author: Thiago Valentín Stilo Limarino
|
|
6
6
|
License-Expression: MIT
|
|
@@ -10,19 +10,20 @@ Classifier: Development Status :: 3 - Alpha
|
|
|
10
10
|
Classifier: Intended Audience :: Developers
|
|
11
11
|
Classifier: License :: OSI Approved :: MIT License
|
|
12
12
|
Classifier: Programming Language :: Python :: 3
|
|
13
|
-
Classifier: Programming Language :: Python :: 3.10
|
|
14
13
|
Classifier: Programming Language :: Python :: 3.11
|
|
15
14
|
Classifier: Programming Language :: Python :: 3.12
|
|
16
15
|
Classifier: Programming Language :: Python :: 3.13
|
|
17
|
-
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.15
|
|
18
|
+
Requires-Python: >=3.11
|
|
18
19
|
Description-Content-Type: text/markdown
|
|
19
20
|
|
|
20
21
|
# RAMTable
|
|
21
22
|
|
|
22
|
-

|
|
23
24
|

|
|
24
|
-
[](https://pypi.org/project/ramtable/)
|
|
26
|
+
[](https://test.pypi.org/project/ramtable/)
|
|
26
27
|
|
|
27
28
|
RAMTable provides typed in-memory tables for data that only needs to live
|
|
28
29
|
while a program is running. It gives records an explicit schema and common
|
|
@@ -62,7 +63,7 @@ temporary storage, not analytics.
|
|
|
62
63
|
|
|
63
64
|
## Installation
|
|
64
65
|
|
|
65
|
-
RAMTable requires Python 3.
|
|
66
|
+
RAMTable requires Python 3.11 or later.
|
|
66
67
|
|
|
67
68
|
Install the latest stable release from PyPI:
|
|
68
69
|
|
|
@@ -218,10 +219,12 @@ writes to disk: records disappear when the process ends.
|
|
|
218
219
|
|
|
219
220
|
## Project status
|
|
220
221
|
|
|
221
|
-
|
|
222
|
-
|
|
222
|
+
RAMTable is published as `ramtable` on
|
|
223
|
+
[PyPI](https://pypi.org/project/ramtable/) and
|
|
223
224
|
[TestPyPI](https://test.pypi.org/project/ramtable/). Use PyPI for stable
|
|
224
|
-
releases and TestPyPI to try release candidates and other pre-releases.
|
|
225
|
+
releases and TestPyPI to try release candidates and other pre-releases. The
|
|
226
|
+
PyPI badge above shows the latest published version; the
|
|
227
|
+
[CHANGELOG](CHANGELOG.md) records the full release history.
|
|
225
228
|
|
|
226
229
|
The project is at an early stage and will continue to evolve. See the
|
|
227
230
|
[CHANGELOG](CHANGELOG.md) for release history.
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
# RAMTable
|
|
2
2
|
|
|
3
|
-

|
|
4
4
|

|
|
5
|
-
[](https://pypi.org/project/ramtable/)
|
|
6
|
+
[](https://test.pypi.org/project/ramtable/)
|
|
7
7
|
|
|
8
8
|
RAMTable provides typed in-memory tables for data that only needs to live
|
|
9
9
|
while a program is running. It gives records an explicit schema and common
|
|
@@ -43,7 +43,7 @@ temporary storage, not analytics.
|
|
|
43
43
|
|
|
44
44
|
## Installation
|
|
45
45
|
|
|
46
|
-
RAMTable requires Python 3.
|
|
46
|
+
RAMTable requires Python 3.11 or later.
|
|
47
47
|
|
|
48
48
|
Install the latest stable release from PyPI:
|
|
49
49
|
|
|
@@ -199,10 +199,12 @@ writes to disk: records disappear when the process ends.
|
|
|
199
199
|
|
|
200
200
|
## Project status
|
|
201
201
|
|
|
202
|
-
|
|
203
|
-
|
|
202
|
+
RAMTable is published as `ramtable` on
|
|
203
|
+
[PyPI](https://pypi.org/project/ramtable/) and
|
|
204
204
|
[TestPyPI](https://test.pypi.org/project/ramtable/). Use PyPI for stable
|
|
205
|
-
releases and TestPyPI to try release candidates and other pre-releases.
|
|
205
|
+
releases and TestPyPI to try release candidates and other pre-releases. The
|
|
206
|
+
PyPI badge above shows the latest published version; the
|
|
207
|
+
[CHANGELOG](CHANGELOG.md) records the full release history.
|
|
206
208
|
|
|
207
209
|
The project is at an early stage and will continue to evolve. See the
|
|
208
210
|
[CHANGELOG](CHANGELOG.md) for release history.
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
# API reference
|
|
2
2
|
|
|
3
3
|
This reference covers every public symbol RAMTable exposes: the `Table`,
|
|
4
|
-
`Columns`, and `Rows` classes,
|
|
5
|
-
example-driven introduction, read the
|
|
4
|
+
`Columns`, and `Rows` classes, the optional `TypeValidator`, and the package
|
|
5
|
+
version. For an example-driven introduction, read the
|
|
6
|
+
[user guide](guide.md) first.
|
|
6
7
|
|
|
7
8
|
```python
|
|
8
|
-
from ramtable import Columns, Rows, Table
|
|
9
|
+
from ramtable import Columns, Rows, Table, __version__
|
|
9
10
|
from ramtable.types import TypeValidator
|
|
10
11
|
```
|
|
11
12
|
|
|
@@ -18,9 +19,21 @@ In normal use you only create a `Table`; it constructs the coordinated
|
|
|
18
19
|
- [`Columns`](#columns)
|
|
19
20
|
- [`Rows`](#rows)
|
|
20
21
|
- [`TypeValidator`](#typevalidator)
|
|
22
|
+
- [Package version](#package-version)
|
|
21
23
|
- [Internal helpers](#internal-helpers)
|
|
22
24
|
- [Copying behavior](#copying-behavior)
|
|
23
25
|
|
|
26
|
+
## Package version
|
|
27
|
+
|
|
28
|
+
```python
|
|
29
|
+
from ramtable import __version__
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
`__version__` is the version of the installed distribution, read from its
|
|
33
|
+
package metadata. It matches `project.version` in `pyproject.toml` and the
|
|
34
|
+
artifact built from it. In a source checkout that has not been installed,
|
|
35
|
+
it is `"0+unknown"`.
|
|
36
|
+
|
|
24
37
|
## `Table`
|
|
25
38
|
|
|
26
39
|
```python
|
|
@@ -47,7 +47,7 @@ how to prepare a release. It does not change or extend the RAMTable API.
|
|
|
47
47
|
|
|
48
48
|
## Set up a local environment
|
|
49
49
|
|
|
50
|
-
Python 3.
|
|
50
|
+
Python 3.11 or later is required. Install the project in editable mode:
|
|
51
51
|
|
|
52
52
|
```bash
|
|
53
53
|
python -m pip install --editable .
|
|
@@ -91,7 +91,7 @@ the branch:
|
|
|
91
91
|
|
|
92
92
|
| Branch | Version form | Example | Published to |
|
|
93
93
|
|---|---|---|---|
|
|
94
|
-
| `dev` | `X.Y.Z.devN` | `0.3.
|
|
94
|
+
| `dev` | `X.Y.Z.devN` | `0.3.2.dev0` | nothing |
|
|
95
95
|
| `test_pypi` | `X.Y.ZrcN` or `X.Y.Z` | `0.3.1rc0`, `0.3.1` | TestPyPI |
|
|
96
96
|
| `main` | `X.Y.Z` | `0.3.1` | PyPI |
|
|
97
97
|
|
|
@@ -101,15 +101,24 @@ the branch:
|
|
|
101
101
|
- `MINOR` for compatible functionality;
|
|
102
102
|
- `MAJOR` for breaking API or behavior changes.
|
|
103
103
|
|
|
104
|
+
`pyproject.toml` is the single source of truth for the current version. The
|
|
105
|
+
build backend reads it, the GitHub Actions workflows read it, and the
|
|
106
|
+
installed package exposes it as `ramtable.__version__` through its
|
|
107
|
+
distribution metadata. The README uses a dynamic PyPI badge instead of a
|
|
108
|
+
hardcoded number. `CHANGELOG.md` is the only other file with version
|
|
109
|
+
numbers, because it is a historical record of releases.
|
|
110
|
+
|
|
104
111
|
Development versions are never published. TestPyPI accepts release
|
|
105
112
|
candidates and stable versions, so the final stable release can be tested
|
|
106
113
|
there before it reaches PyPI. PyPI accepts stable versions only.
|
|
107
114
|
|
|
108
115
|
## Preparing a release
|
|
109
116
|
|
|
110
|
-
1. On `dev`, update `project.version` in `pyproject.toml
|
|
111
|
-
|
|
112
|
-
|
|
117
|
+
1. On `dev`, update `project.version` in `pyproject.toml`. This is the only
|
|
118
|
+
place where the current version is defined. Add the corresponding
|
|
119
|
+
section to `CHANGELOG.md`.
|
|
120
|
+
2. Check that the README and documentation describe current behavior. The
|
|
121
|
+
README must not contain a hardcoded version.
|
|
113
122
|
3. Run the example and all available build/test checks.
|
|
114
123
|
4. Build and inspect the wheel and source distribution.
|
|
115
124
|
5. Open a pull request from `dev` to `test_pypi`. The pull request validates
|
|
@@ -4,10 +4,10 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "ramtable"
|
|
7
|
-
version = "0.3.
|
|
7
|
+
version = "0.3.2"
|
|
8
8
|
description = "A lightweight in-memory table library for Python."
|
|
9
9
|
readme = "README.md"
|
|
10
|
-
requires-python = ">=3.
|
|
10
|
+
requires-python = ">=3.11"
|
|
11
11
|
license = "MIT"
|
|
12
12
|
authors = [
|
|
13
13
|
{ name = "Thiago Valentín Stilo Limarino" }
|
|
@@ -22,10 +22,11 @@ classifiers = [
|
|
|
22
22
|
"Development Status :: 3 - Alpha",
|
|
23
23
|
"Intended Audience :: Developers",
|
|
24
24
|
"Programming Language :: Python :: 3",
|
|
25
|
-
"Programming Language :: Python :: 3.10",
|
|
26
25
|
"Programming Language :: Python :: 3.11",
|
|
27
26
|
"Programming Language :: Python :: 3.12",
|
|
28
27
|
"Programming Language :: Python :: 3.13",
|
|
28
|
+
"Programming Language :: Python :: 3.14",
|
|
29
|
+
"Programming Language :: Python :: 3.15",
|
|
29
30
|
"License :: OSI Approved :: MIT License",
|
|
30
31
|
]
|
|
31
32
|
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"""Public RAMTable API.
|
|
2
|
+
|
|
3
|
+
Expose :class:`Columns`, :class:`Rows`, and :class:`Table` from the
|
|
4
|
+
``ramtable`` package as a concise, stable import path, along with the
|
|
5
|
+
installed package version.
|
|
6
|
+
"""
|
|
7
|
+
|
|
8
|
+
from importlib.metadata import PackageNotFoundError, version
|
|
9
|
+
|
|
10
|
+
from .columns import Columns
|
|
11
|
+
from .rows import Rows
|
|
12
|
+
from .table import Table
|
|
13
|
+
|
|
14
|
+
try:
|
|
15
|
+
__version__ = version("ramtable")
|
|
16
|
+
except PackageNotFoundError: # pragma: no cover - source checkout without install
|
|
17
|
+
__version__ = "0+unknown"
|
|
18
|
+
|
|
19
|
+
__all__ = [
|
|
20
|
+
"__version__",
|
|
21
|
+
"Columns",
|
|
22
|
+
"Rows",
|
|
23
|
+
"Table",
|
|
24
|
+
]
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
"""Public RAMTable API.
|
|
2
|
-
|
|
3
|
-
Expose :class:`Columns`, :class:`Rows`, and :class:`Table` from the
|
|
4
|
-
``ramtable`` package as a concise, stable import path.
|
|
5
|
-
"""
|
|
6
|
-
|
|
7
|
-
from .columns import Columns
|
|
8
|
-
from .rows import Rows
|
|
9
|
-
from .table import Table
|
|
10
|
-
|
|
11
|
-
__all__ = [
|
|
12
|
-
"Columns",
|
|
13
|
-
"Rows",
|
|
14
|
-
"Table",
|
|
15
|
-
]
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|