zippermerge 0.1.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.
@@ -0,0 +1 @@
1
+ 3.9
@@ -0,0 +1,133 @@
1
+ # This file is automatically @generated by Cargo.
2
+ # It is not intended for manual editing.
3
+ version = 4
4
+
5
+ [[package]]
6
+ name = "heck"
7
+ version = "0.5.0"
8
+ source = "registry+https://github.com/rust-lang/crates.io-index"
9
+ checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
10
+
11
+ [[package]]
12
+ name = "libc"
13
+ version = "0.2.189"
14
+ source = "registry+https://github.com/rust-lang/crates.io-index"
15
+ checksum = "3eaf3ede3fee6db1a4c2ee091bf8a8b4dccdc6d17f656fb07896ee72867612f2"
16
+
17
+ [[package]]
18
+ name = "once_cell"
19
+ version = "1.21.4"
20
+ source = "registry+https://github.com/rust-lang/crates.io-index"
21
+ checksum = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50"
22
+
23
+ [[package]]
24
+ name = "portable-atomic"
25
+ version = "1.15.0"
26
+ source = "registry+https://github.com/rust-lang/crates.io-index"
27
+ checksum = "05c8b63e8d9609db387f0324918f81d68fe27748f084ef092fb35954d0539a85"
28
+
29
+ [[package]]
30
+ name = "proc-macro2"
31
+ version = "1.0.107"
32
+ source = "registry+https://github.com/rust-lang/crates.io-index"
33
+ checksum = "985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9"
34
+ dependencies = [
35
+ "unicode-ident",
36
+ ]
37
+
38
+ [[package]]
39
+ name = "pyo3"
40
+ version = "0.28.3"
41
+ source = "registry+https://github.com/rust-lang/crates.io-index"
42
+ checksum = "91fd8e38a3b50ed1167fb981cd6fd60147e091784c427b8f7183a7ee32c31c12"
43
+ dependencies = [
44
+ "libc",
45
+ "once_cell",
46
+ "portable-atomic",
47
+ "pyo3-build-config",
48
+ "pyo3-ffi",
49
+ "pyo3-macros",
50
+ ]
51
+
52
+ [[package]]
53
+ name = "pyo3-build-config"
54
+ version = "0.28.3"
55
+ source = "registry+https://github.com/rust-lang/crates.io-index"
56
+ checksum = "e368e7ddfdeb98c9bca7f8383be1648fd84ab466bf2bc015e94008db6d35611e"
57
+ dependencies = [
58
+ "target-lexicon",
59
+ ]
60
+
61
+ [[package]]
62
+ name = "pyo3-ffi"
63
+ version = "0.28.3"
64
+ source = "registry+https://github.com/rust-lang/crates.io-index"
65
+ checksum = "7f29e10af80b1f7ccaf7f69eace800a03ecd13e883acfacc1e5d0988605f651e"
66
+ dependencies = [
67
+ "libc",
68
+ "pyo3-build-config",
69
+ ]
70
+
71
+ [[package]]
72
+ name = "pyo3-macros"
73
+ version = "0.28.3"
74
+ source = "registry+https://github.com/rust-lang/crates.io-index"
75
+ checksum = "df6e520eff47c45997d2fc7dd8214b25dd1310918bbb2642156ef66a67f29813"
76
+ dependencies = [
77
+ "proc-macro2",
78
+ "pyo3-macros-backend",
79
+ "quote",
80
+ "syn",
81
+ ]
82
+
83
+ [[package]]
84
+ name = "pyo3-macros-backend"
85
+ version = "0.28.3"
86
+ source = "registry+https://github.com/rust-lang/crates.io-index"
87
+ checksum = "c4cdc218d835738f81c2338f822078af45b4afdf8b2e33cbb5916f108b813acb"
88
+ dependencies = [
89
+ "heck",
90
+ "proc-macro2",
91
+ "pyo3-build-config",
92
+ "quote",
93
+ "syn",
94
+ ]
95
+
96
+ [[package]]
97
+ name = "quote"
98
+ version = "1.0.47"
99
+ source = "registry+https://github.com/rust-lang/crates.io-index"
100
+ checksum = "1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001"
101
+ dependencies = [
102
+ "proc-macro2",
103
+ ]
104
+
105
+ [[package]]
106
+ name = "syn"
107
+ version = "2.0.119"
108
+ source = "registry+https://github.com/rust-lang/crates.io-index"
109
+ checksum = "872831b642d1a07999a962a351ed35b955ea2cfc8f3862091e2a240a84f17297"
110
+ dependencies = [
111
+ "proc-macro2",
112
+ "quote",
113
+ "unicode-ident",
114
+ ]
115
+
116
+ [[package]]
117
+ name = "target-lexicon"
118
+ version = "0.13.5"
119
+ source = "registry+https://github.com/rust-lang/crates.io-index"
120
+ checksum = "adb6935a6f5c20170eeceb1a3835a49e12e19d792f6dd344ccc76a985ca5a6ca"
121
+
122
+ [[package]]
123
+ name = "unicode-ident"
124
+ version = "1.0.24"
125
+ source = "registry+https://github.com/rust-lang/crates.io-index"
126
+ checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75"
127
+
128
+ [[package]]
129
+ name = "zippermerge"
130
+ version = "0.1.0"
131
+ dependencies = [
132
+ "pyo3",
133
+ ]
@@ -0,0 +1,15 @@
1
+ [package]
2
+ name = "zippermerge"
3
+ version = "0.1.0"
4
+ edition = "2024"
5
+ readme = "README.md"
6
+
7
+ [lib]
8
+ name = "_core"
9
+ # "cdylib" is necessary to produce a shared library for Python to import from.
10
+ crate-type = ["cdylib"]
11
+
12
+ [dependencies]
13
+ # "extension-module" tells pyo3 we want to build an extension module (skips linking against libpython.so)
14
+ # "abi3-py39" tells pyo3 (and maturin) to build using the stable ABI with minimum Python version 3.9
15
+ pyo3 = { version = "0.28.2", features = ["extension-module", "abi3-py39"] }
@@ -0,0 +1,9 @@
1
+ Metadata-Version: 2.4
2
+ Name: zippermerge
3
+ Version: 0.1.0
4
+ Summary: Add your description here
5
+ Author-email: zippermerge <zippermerge12@gmail.com>
6
+ Requires-Python: >=3.9
7
+ Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
8
+
9
+
File without changes
@@ -0,0 +1,27 @@
1
+ [project]
2
+ name = "zippermerge"
3
+ version = "0.1.0"
4
+ description = "Add your description here"
5
+ readme = "README.md"
6
+ authors = [
7
+ { name = "zippermerge", email = "zippermerge12@gmail.com" }
8
+ ]
9
+ requires-python = ">=3.9"
10
+ dependencies = []
11
+
12
+ [tool.maturin]
13
+ module-name = "zippermerge._core"
14
+ python-packages = ["zippermerge"]
15
+ python-source = "src"
16
+
17
+ [tool.uv]
18
+ cache-keys = [{ file = "pyproject.toml" }, { file = "src/**/*.rs" }, { file = "Cargo.toml" }, { file = "Cargo.lock" }]
19
+
20
+ [tool.uv.workspace]
21
+ members = [
22
+ "packages/differential",
23
+ ]
24
+
25
+ [build-system]
26
+ requires = ["maturin>=1.0,<2.0"]
27
+ build-backend = "maturin"
@@ -0,0 +1,14 @@
1
+ use pyo3::prelude::*;
2
+
3
+ /// A Python module implemented in Rust. The name of this module must match
4
+ /// the `lib.name` setting in the `Cargo.toml`, else Python will not be able to
5
+ /// import the module.
6
+ #[pymodule]
7
+ mod _core {
8
+ use pyo3::prelude::*;
9
+
10
+ #[pyfunction]
11
+ fn hello_from_bin() -> String {
12
+ "Hello from zippermerge!".to_string()
13
+ }
14
+ }
@@ -0,0 +1,5 @@
1
+ from zippermerge._core import hello_from_bin
2
+
3
+
4
+ def hello() -> str:
5
+ return hello_from_bin()
@@ -0,0 +1 @@
1
+ def hello_from_bin() -> str: ...
@@ -0,0 +1,7 @@
1
+ def hello() -> str:
2
+ """
3
+ Differential subpackage containing a discrete derivative function.
4
+ """
5
+ from .discrete import diff
6
+
7
+ __all__ = [diff]
@@ -0,0 +1,32 @@
1
+ def diff(t, x):
2
+ """
3
+ Computes the discrete derivative of timeseries data.
4
+
5
+ Parameters:
6
+ t (list): Python array containing time values t_k.
7
+ x (list): Python array containing signal values x(t_k).
8
+
9
+ Returns:
10
+ list: The computed discrete derivative v(t) as a Python array.
11
+ """
12
+
13
+ # Check for equality of lengths of input arrays
14
+ if len(t) != len(x):
15
+ raise ValueError("The time array (t) and signal array (x) must be of equal length.")
16
+
17
+ v = []
18
+ # Iterate through arrays starting from second element
19
+ for k in range(1, len(t)):
20
+ # Calculate difference between consecutive signal values
21
+ delta_x = x[k] - x[k-1]
22
+
23
+ # Calculate difference between consecutive time values
24
+ delta_t = t[k] - t[k-1]
25
+
26
+ # Compute discrete derivative
27
+ v_t = delta_x / delta_t
28
+
29
+ # Append the value to the v array
30
+ v.append(v_t)
31
+
32
+ return v
File without changes