pathl 0.1.0a6__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.
pathl-0.1.0a6/PKG-INFO ADDED
@@ -0,0 +1,28 @@
1
+ Metadata-Version: 2.4
2
+ Name: pathl
3
+ Version: 0.1.0a6
4
+ Summary: Pathl - biblioteka ogólnego przeznaczenia
5
+ Author-email: Alicja <alicjajett@gmail.com>
6
+ Maintainer-email: Alicja <alicjajett@gmail.com>
7
+ License: MIT
8
+ Project-URL: Homepage, https://github.com/AlicjaPathl/pathl
9
+ Project-URL: Repository, https://github.com/AlicjaPathl/pathl.git
10
+ Project-URL: Bug Tracker, https://github.com/AlicjaPathl/pathl/issues
11
+ Requires-Python: >=3.8
12
+ Description-Content-Type: text/markdown
13
+ Requires-Dist: httpx
14
+ Provides-Extra: dev
15
+ Requires-Dist: pytest>=7.0.0; extra == "dev"
16
+ Requires-Dist: pytest-cov>=4.0.0; extra == "dev"
17
+ Requires-Dist: build>=1.0.0; extra == "dev"
18
+ Requires-Dist: twine>=4.0.0; extra == "dev"
19
+ Requires-Dist: black>=23.0.0; extra == "dev"
20
+ Requires-Dist: isort>=5.12.0; extra == "dev"
21
+ Requires-Dist: flake8>=6.0.0; extra == "dev"
22
+ Requires-Dist: mypy>=1.0.0; extra == "dev"
23
+ Requires-Dist: cibuildwheel>=2.16.0; extra == "dev"
24
+ Provides-Extra: cli
25
+ Requires-Dist: click>=8.0.0; extra == "cli"
26
+ Provides-Extra: gui
27
+
28
+ # pathl
@@ -0,0 +1 @@
1
+ # pathl
@@ -0,0 +1,7 @@
1
+ """Pathl - biblioteka ogólnego przeznaczenia."""
2
+
3
+ __version__ = "0.1.0-a1"
4
+
5
+ from .hello.world import hello
6
+ from .crypto.rsa import rsa
7
+ __all__ = ["hello", "__version__","rsa"]
File without changes
@@ -0,0 +1,41 @@
1
+ #define PY_SSIZE_T_CLEAN
2
+ #include <Python.h>
3
+
4
+ /* Przykładowa funkcja natywna: szybkie liczenie długości ścieżki */
5
+ static PyObject *
6
+ core_path_depth(PyObject *self, PyObject *args)
7
+ {
8
+ const char *path;
9
+ if (!PyArg_ParseTuple(args, "s", &path)) {
10
+ return NULL;
11
+ }
12
+
13
+ int depth = 0;
14
+ for (const char *p = path; *p; p++) {
15
+ if (*p == '/' || *p == '\\') {
16
+ depth++;
17
+ }
18
+ }
19
+
20
+ return PyLong_FromLong(depth);
21
+ }
22
+
23
+ static PyMethodDef CoreMethods[] = {
24
+ {"path_depth", core_path_depth, METH_VARARGS,
25
+ "Zwraca głębokość ścieżki (liczbę separatorów)."},
26
+ {NULL, NULL, 0, NULL}
27
+ };
28
+
29
+ static struct PyModuleDef coremodule = {
30
+ PyModuleDef_HEAD_INIT,
31
+ "core",
32
+ "Natywny moduł pathl (C extension)",
33
+ -1,
34
+ CoreMethods
35
+ };
36
+
37
+ PyMODINIT_FUNC
38
+ PyInit_core(void)
39
+ {
40
+ return PyModule_Create(&coremodule);
41
+ }
@@ -0,0 +1,2 @@
1
+ def main():
2
+ print("hello world")
@@ -0,0 +1,2 @@
1
+ def rsa(key):
2
+ print(key)
@@ -0,0 +1,4 @@
1
+ def hello():
2
+ print("Hello From Pathl")
3
+ def world():
4
+ print("World")
@@ -0,0 +1,28 @@
1
+ Metadata-Version: 2.4
2
+ Name: pathl
3
+ Version: 0.1.0a6
4
+ Summary: Pathl - biblioteka ogólnego przeznaczenia
5
+ Author-email: Alicja <alicjajett@gmail.com>
6
+ Maintainer-email: Alicja <alicjajett@gmail.com>
7
+ License: MIT
8
+ Project-URL: Homepage, https://github.com/AlicjaPathl/pathl
9
+ Project-URL: Repository, https://github.com/AlicjaPathl/pathl.git
10
+ Project-URL: Bug Tracker, https://github.com/AlicjaPathl/pathl/issues
11
+ Requires-Python: >=3.8
12
+ Description-Content-Type: text/markdown
13
+ Requires-Dist: httpx
14
+ Provides-Extra: dev
15
+ Requires-Dist: pytest>=7.0.0; extra == "dev"
16
+ Requires-Dist: pytest-cov>=4.0.0; extra == "dev"
17
+ Requires-Dist: build>=1.0.0; extra == "dev"
18
+ Requires-Dist: twine>=4.0.0; extra == "dev"
19
+ Requires-Dist: black>=23.0.0; extra == "dev"
20
+ Requires-Dist: isort>=5.12.0; extra == "dev"
21
+ Requires-Dist: flake8>=6.0.0; extra == "dev"
22
+ Requires-Dist: mypy>=1.0.0; extra == "dev"
23
+ Requires-Dist: cibuildwheel>=2.16.0; extra == "dev"
24
+ Provides-Extra: cli
25
+ Requires-Dist: click>=8.0.0; extra == "cli"
26
+ Provides-Extra: gui
27
+
28
+ # pathl
@@ -0,0 +1,15 @@
1
+ README.md
2
+ pyproject.toml
3
+ setup.py
4
+ pathl/__init__.py
5
+ pathl.egg-info/PKG-INFO
6
+ pathl.egg-info/SOURCES.txt
7
+ pathl.egg-info/dependency_links.txt
8
+ pathl.egg-info/entry_points.txt
9
+ pathl.egg-info/requires.txt
10
+ pathl.egg-info/top_level.txt
11
+ pathl/_native/__init__.py
12
+ pathl/_native/core.c
13
+ pathl/cli/main.py
14
+ pathl/crypto/rsa.py
15
+ pathl/hello/world.py
@@ -0,0 +1,2 @@
1
+ [console_scripts]
2
+ pathl = pathl.cli.main:main
@@ -0,0 +1,17 @@
1
+ httpx
2
+
3
+ [cli]
4
+ click>=8.0.0
5
+
6
+ [dev]
7
+ pytest>=7.0.0
8
+ pytest-cov>=4.0.0
9
+ build>=1.0.0
10
+ twine>=4.0.0
11
+ black>=23.0.0
12
+ isort>=5.12.0
13
+ flake8>=6.0.0
14
+ mypy>=1.0.0
15
+ cibuildwheel>=2.16.0
16
+
17
+ [gui]
@@ -0,0 +1 @@
1
+ pathl
@@ -0,0 +1,77 @@
1
+ [build-system]
2
+ requires = ["setuptools>=61.0", "wheel"]
3
+ build-backend = "setuptools.build_meta"
4
+
5
+ [project]
6
+ name = "pathl"
7
+ version = "0.1.0a6"
8
+ description = "Pathl - biblioteka ogólnego przeznaczenia"
9
+ readme = "README.md"
10
+ requires-python = ">=3.8"
11
+ license = {text = "MIT"}
12
+ authors = [
13
+ {name = "Alicja", email = "alicjajett@gmail.com"},
14
+ ]
15
+ maintainers = [
16
+ {name = "Alicja", email = "alicjajett@gmail.com"}
17
+ ]
18
+ dependencies = [
19
+ "httpx",
20
+ ]
21
+
22
+ [project.optional-dependencies]
23
+ dev = [
24
+ "pytest>=7.0.0",
25
+ "pytest-cov>=4.0.0",
26
+ "build>=1.0.0",
27
+ "twine>=4.0.0",
28
+ "black>=23.0.0",
29
+ "isort>=5.12.0",
30
+ "flake8>=6.0.0",
31
+ "mypy>=1.0.0",
32
+ "cibuildwheel>=2.16.0",
33
+ ]
34
+ cli = ["click>=8.0.0"]
35
+ gui = []
36
+
37
+ [project.urls]
38
+ Homepage = "https://github.com/AlicjaPathl/pathl"
39
+ Repository = "https://github.com/AlicjaPathl/pathl.git"
40
+ "Bug Tracker" = "https://github.com/AlicjaPathl/pathl/issues"
41
+
42
+ [project.scripts]
43
+ pathl = "pathl.cli.main:main"
44
+
45
+ # Konfiguracja setuptools - szukamy pakietów w katalogu pathl
46
+ [tool.setuptools.packages.find]
47
+ where = ["."]
48
+ include = ["pathl*", "pathl.*"]
49
+
50
+ # --- Rozszerzenie C ---
51
+ # setuptools >=61 wspiera ext_modules tylko przez setup.py lub przez
52
+ # [tool.setuptools] w połączeniu z osobnym plikiem build (patrz setup.py niżej,
53
+ # potrzebny WYŁĄCZNIE do zdefiniowania modułu C - reszta metadanych zostaje w pyproject.toml)
54
+
55
+ [tool.pytest.ini_options]
56
+ testpaths = ["tests"]
57
+ python_files = "test_*.py"
58
+
59
+ [tool.black]
60
+ line-length = 88
61
+ target-version = ['py38', 'py39', 'py310', 'py311']
62
+
63
+ [tool.isort]
64
+ profile = "black"
65
+ line_length = 88
66
+
67
+ # --- Konfiguracja cibuildwheel (cross-build Linux + Windows) ---
68
+ [tool.cibuildwheel]
69
+ build = "cp38-* cp39-* cp310-* cp311-* cp312-*"
70
+ skip = "*-musllinux* pp*"
71
+ build-verbosity = 1
72
+
73
+ [tool.cibuildwheel.linux]
74
+ archs = ["x86_64"]
75
+
76
+ [tool.cibuildwheel.windows]
77
+ archs = ["AMD64"]
@@ -0,0 +1,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+
pathl-0.1.0a6/setup.py ADDED
@@ -0,0 +1,14 @@
1
+ """
2
+ Ten plik istnieje WYŁĄCZNIE po to, by zdefiniować rozszerzenie C.
3
+ Wszystkie inne metadane (nazwa, wersja, zależności) są w pyproject.toml.
4
+ """
5
+ from setuptools import setup, Extension
6
+
7
+ core_extension = Extension(
8
+ name="pathl._native.core",
9
+ sources=["pathl/_native/core.c"],
10
+ )
11
+
12
+ setup(
13
+ ext_modules=[core_extension],
14
+ )