prvosm 1.0.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.
- prvosm-1.0.0/PKG-INFO +33 -0
- prvosm-1.0.0/README.md +19 -0
- prvosm-1.0.0/pyproject.toml +28 -0
- prvosm-1.0.0/pyproject.toml.orig +29 -0
- prvosm-1.0.0/src/prvosm/__init__.py +672 -0
- prvosm-1.0.0/src/prvosm/api/__init__.py +0 -0
- prvosm-1.0.0/src/prvosm/api/base.py +52 -0
- prvosm-1.0.0/src/prvosm/cache.py +48 -0
- prvosm-1.0.0/src/prvosm/models/__init__.py +0 -0
- prvosm-1.0.0/src/prvosm/models/base.py +81 -0
- prvosm-1.0.0/src/prvosm/models/changeset.py +93 -0
- prvosm-1.0.0/src/prvosm/models/geojson.py +17 -0
- prvosm-1.0.0/src/prvosm/models/node.py +84 -0
- prvosm-1.0.0/src/prvosm/models/note.py +115 -0
- prvosm-1.0.0/src/prvosm/models/osmchange.py +131 -0
- prvosm-1.0.0/src/prvosm/models/relation.py +183 -0
- prvosm-1.0.0/src/prvosm/models/user.py +136 -0
- prvosm-1.0.0/src/prvosm/models/way.py +73 -0
prvosm-1.0.0/PKG-INFO
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
Metadata-Version: 2.3
|
|
2
|
+
Name: prvosm
|
|
3
|
+
Version: 1.0.0
|
|
4
|
+
Summary: Small library for reading from the OSM API
|
|
5
|
+
Author: Preben Vangberg
|
|
6
|
+
Author-email: Preben Vangberg <prv21fgt@bangor.ac.uk>
|
|
7
|
+
Requires-Dist: loguru>=0.7.3
|
|
8
|
+
Requires-Dist: pydantic>=2.13.4
|
|
9
|
+
Requires-Dist: pydantic-xml>=2.21.1
|
|
10
|
+
Requires-Dist: requests>=2.34.2
|
|
11
|
+
Requires-Dist: shapely>=2.1.2
|
|
12
|
+
Requires-Python: >=3.14
|
|
13
|
+
Description-Content-Type: text/markdown
|
|
14
|
+
|
|
15
|
+
# Preben OSM's Library (prvosm)
|
|
16
|
+
|
|
17
|
+
A simple Python library that makes accessing data from the OSM API dead easy and convenient.
|
|
18
|
+
|
|
19
|
+
## Features
|
|
20
|
+
- **Read-only OSM API access:** I never really use Python to write anything to OSM, so a simple read-only API is all that I need, hence all that this library provides at the moment.
|
|
21
|
+
- **Object/type oriented:**
|
|
22
|
+
Instead of dealing with a bunch of nested dictionaries, everything is properly parsed into an object using [Pydantic](https://pydantic.dev/docs/validation/latest/get-started/). Want to fetch the details for the user that made a changeset? Call `changeset.fetch_user()` and a `User` object is returned.
|
|
23
|
+
- **Easy geometries:** OSM elements (nodes, ways, relations, notes) have functions and properties to get [shapely](https://shapely.readthedocs.io/en/stable/manual.html) geometries.
|
|
24
|
+
- **Cached:** Following good practice, objects and responses are stored in a sqlite cache.
|
|
25
|
+
- **Almost all read end-points added:** There are a handful that I haven't got around to implementing, but most are implemented.
|
|
26
|
+
|
|
27
|
+
## Documentation
|
|
28
|
+
|
|
29
|
+
For documentation, roadmaps, etc. see [prvinspace.github.io/prvosm/](https://prvinspace.github.io/prvosm/).
|
|
30
|
+
|
|
31
|
+
## Maintainer
|
|
32
|
+
|
|
33
|
+
This library is maintained by [Preben Vangberg](https://www.openstreetmap.org/user/Preben%20Vangberg). You can pop me a message on OSM, Discord or Matrix if there is anything.
|
prvosm-1.0.0/README.md
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# Preben OSM's Library (prvosm)
|
|
2
|
+
|
|
3
|
+
A simple Python library that makes accessing data from the OSM API dead easy and convenient.
|
|
4
|
+
|
|
5
|
+
## Features
|
|
6
|
+
- **Read-only OSM API access:** I never really use Python to write anything to OSM, so a simple read-only API is all that I need, hence all that this library provides at the moment.
|
|
7
|
+
- **Object/type oriented:**
|
|
8
|
+
Instead of dealing with a bunch of nested dictionaries, everything is properly parsed into an object using [Pydantic](https://pydantic.dev/docs/validation/latest/get-started/). Want to fetch the details for the user that made a changeset? Call `changeset.fetch_user()` and a `User` object is returned.
|
|
9
|
+
- **Easy geometries:** OSM elements (nodes, ways, relations, notes) have functions and properties to get [shapely](https://shapely.readthedocs.io/en/stable/manual.html) geometries.
|
|
10
|
+
- **Cached:** Following good practice, objects and responses are stored in a sqlite cache.
|
|
11
|
+
- **Almost all read end-points added:** There are a handful that I haven't got around to implementing, but most are implemented.
|
|
12
|
+
|
|
13
|
+
## Documentation
|
|
14
|
+
|
|
15
|
+
For documentation, roadmaps, etc. see [prvinspace.github.io/prvosm/](https://prvinspace.github.io/prvosm/).
|
|
16
|
+
|
|
17
|
+
## Maintainer
|
|
18
|
+
|
|
19
|
+
This library is maintained by [Preben Vangberg](https://www.openstreetmap.org/user/Preben%20Vangberg). You can pop me a message on OSM, Discord or Matrix if there is anything.
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
[project]
|
|
2
|
+
name = "prvosm"
|
|
3
|
+
version = "1.0.0"
|
|
4
|
+
description = "Small library for reading from the OSM API"
|
|
5
|
+
readme = "README.md"
|
|
6
|
+
requires-python = ">=3.14"
|
|
7
|
+
dependencies = [
|
|
8
|
+
"loguru>=0.7.3",
|
|
9
|
+
"pydantic>=2.13.4",
|
|
10
|
+
"pydantic-xml>=2.21.1",
|
|
11
|
+
"requests>=2.34.2",
|
|
12
|
+
"shapely>=2.1.2",
|
|
13
|
+
]
|
|
14
|
+
|
|
15
|
+
[[project.authors]]
|
|
16
|
+
name = "Preben Vangberg"
|
|
17
|
+
email = "prv21fgt@bangor.ac.uk"
|
|
18
|
+
|
|
19
|
+
[build-system]
|
|
20
|
+
requires = ["uv_build>=0.11.6,<0.12.0"]
|
|
21
|
+
build-backend = "uv_build"
|
|
22
|
+
|
|
23
|
+
[dependency-groups]
|
|
24
|
+
docs = [
|
|
25
|
+
"mkdocstrings-python>=2.0.7",
|
|
26
|
+
"zensical>=0.0.57",
|
|
27
|
+
]
|
|
28
|
+
testing = ["pytest>=9.1.1"]
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
[project]
|
|
2
|
+
name = "prvosm"
|
|
3
|
+
version = "1.0.0"
|
|
4
|
+
description = "Small library for reading from the OSM API"
|
|
5
|
+
readme = "README.md"
|
|
6
|
+
authors = [
|
|
7
|
+
{ name = "Preben Vangberg", email = "prv21fgt@bangor.ac.uk" }
|
|
8
|
+
]
|
|
9
|
+
requires-python = ">=3.14"
|
|
10
|
+
dependencies = [
|
|
11
|
+
"loguru>=0.7.3",
|
|
12
|
+
"pydantic>=2.13.4",
|
|
13
|
+
"pydantic-xml>=2.21.1",
|
|
14
|
+
"requests>=2.34.2",
|
|
15
|
+
"shapely>=2.1.2",
|
|
16
|
+
]
|
|
17
|
+
|
|
18
|
+
[build-system]
|
|
19
|
+
requires = ["uv_build>=0.11.6,<0.12.0"]
|
|
20
|
+
build-backend = "uv_build"
|
|
21
|
+
|
|
22
|
+
[dependency-groups]
|
|
23
|
+
docs = [
|
|
24
|
+
"mkdocstrings-python>=2.0.7",
|
|
25
|
+
"zensical>=0.0.57",
|
|
26
|
+
]
|
|
27
|
+
testing = [
|
|
28
|
+
"pytest>=9.1.1",
|
|
29
|
+
]
|