matchapi 0.2.0__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.
@@ -6,6 +6,15 @@ and the project adheres to [Semantic Versioning](https://semver.org/).
6
6
 
7
7
  ## [Unreleased]
8
8
 
9
+ ## [0.2.1] - 2026-10-12
10
+
11
+ Package metadata only; the code is unchanged.
12
+
13
+ ### Changed
14
+
15
+ - The PyPI description, keywords and classifiers name granian and RSGI, so the package is found by the stack it
16
+ runs on. The README opens with the same line.
17
+
9
18
  ## [0.2.0] - 2026-10-12
10
19
 
11
20
  The handler is decorated and granian serves it. The framework loses its command line and its ASGI adapter;
@@ -1,7 +1,7 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: matchapi
3
- Version: 0.2.0
4
- Summary: An HTTP service is one function: match replaces the router
3
+ Version: 0.2.1
4
+ Summary: One-function HTTP framework for granian over RSGI: match replaces the router
5
5
  Project-URL: Homepage, https://github.com/troyan-dy/matchapi
6
6
  Project-URL: Repository, https://github.com/troyan-dy/matchapi
7
7
  Project-URL: Issues, https://github.com/troyan-dy/matchapi/issues
@@ -9,8 +9,9 @@ Project-URL: Changelog, https://github.com/troyan-dy/matchapi/blob/master/CHANGE
9
9
  Author: Dmitriy Troyan
10
10
  License-Expression: MIT
11
11
  License-File: LICENSE
12
- Keywords: framework,granian,http,match,microservice,pattern-matching,rsgi,web,webhook
12
+ Keywords: api,async,asyncio,framework,granian,http,json,match,microframework,microservice,pattern-matching,rest,rsgi,rust,single-file,structural-pattern-matching,web,web-framework,webhook
13
13
  Classifier: Development Status :: 3 - Alpha
14
+ Classifier: Environment :: Web Environment
14
15
  Classifier: Framework :: AsyncIO
15
16
  Classifier: Intended Audience :: Developers
16
17
  Classifier: Operating System :: OS Independent
@@ -20,6 +21,8 @@ Classifier: Programming Language :: Python :: 3.11
20
21
  Classifier: Programming Language :: Python :: 3.12
21
22
  Classifier: Programming Language :: Python :: 3.13
22
23
  Classifier: Programming Language :: Python :: 3.14
24
+ Classifier: Topic :: Internet :: WWW/HTTP
25
+ Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
23
26
  Classifier: Topic :: Internet :: WWW/HTTP :: HTTP Servers
24
27
  Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
25
28
  Classifier: Typing :: Typed
@@ -36,6 +39,10 @@ Description-Content-Type: text/markdown
36
39
 
37
40
  An HTTP service is one function. `match` replaces the router.
38
41
 
42
+ A one-file Python web framework for [granian](https://github.com/emmett-framework/granian) over
43
+ [RSGI](https://github.com/emmett-framework/granian/blob/master/docs/spec/RSGI.md), granian's native Rust-backed
44
+ interface: no router, no middleware, no ASGI adapter. Python 3.11+.
45
+
39
46
  ```python
40
47
  # app.py
41
48
  import matchapi
@@ -7,6 +7,10 @@
7
7
 
8
8
  An HTTP service is one function. `match` replaces the router.
9
9
 
10
+ A one-file Python web framework for [granian](https://github.com/emmett-framework/granian) over
11
+ [RSGI](https://github.com/emmett-framework/granian/blob/master/docs/spec/RSGI.md), granian's native Rust-backed
12
+ interface: no router, no middleware, no ASGI adapter. Python 3.11+.
13
+
10
14
  ```python
11
15
  # app.py
12
16
  import matchapi
@@ -1,7 +1,7 @@
1
1
  [project]
2
2
  name = "matchapi"
3
- version = "0.2.0"
4
- description = "An HTTP service is one function: match replaces the router"
3
+ version = "0.2.1"
4
+ description = "One-function HTTP framework for granian over RSGI: match replaces the router"
5
5
  readme = "README.md"
6
6
  license = "MIT"
7
7
  license-files = ["LICENSE"]
@@ -10,9 +10,30 @@ requires-python = ">=3.11"
10
10
  dependencies = [
11
11
  "granian>=2.8",
12
12
  ]
13
- keywords = ["http", "rsgi", "granian", "web", "framework", "match", "pattern-matching", "microservice", "webhook"]
13
+ keywords = [
14
+ "http",
15
+ "rsgi",
16
+ "granian",
17
+ "web",
18
+ "framework",
19
+ "web-framework",
20
+ "microframework",
21
+ "async",
22
+ "asyncio",
23
+ "api",
24
+ "rest",
25
+ "json",
26
+ "match",
27
+ "pattern-matching",
28
+ "structural-pattern-matching",
29
+ "microservice",
30
+ "webhook",
31
+ "single-file",
32
+ "rust",
33
+ ]
14
34
  classifiers = [
15
35
  "Development Status :: 3 - Alpha",
36
+ "Environment :: Web Environment",
16
37
  "Framework :: AsyncIO",
17
38
  "Intended Audience :: Developers",
18
39
  "Operating System :: OS Independent",
@@ -22,6 +43,8 @@ classifiers = [
22
43
  "Programming Language :: Python :: 3.12",
23
44
  "Programming Language :: Python :: 3.13",
24
45
  "Programming Language :: Python :: 3.14",
46
+ "Topic :: Internet :: WWW/HTTP",
47
+ "Topic :: Internet :: WWW/HTTP :: Dynamic Content",
25
48
  "Topic :: Internet :: WWW/HTTP :: HTTP Servers",
26
49
  "Topic :: Software Development :: Libraries :: Application Frameworks",
27
50
  "Typing :: Typed",
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
File without changes
File without changes