error-san 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,26 @@
1
+ name: Publish to PyPI
2
+
3
+ on:
4
+ workflow_dispatch:
5
+
6
+ jobs:
7
+ publish:
8
+ runs-on: ubuntu-latest
9
+
10
+ environment:
11
+ name: pypi
12
+
13
+ permissions:
14
+ id-token: write
15
+
16
+ steps:
17
+ - uses: actions/checkout@v4
18
+
19
+ - name: Install uv
20
+ uses: astral-sh/setup-uv@v6
21
+
22
+ - name: Build package
23
+ run: uv build
24
+
25
+ - name: Publish package
26
+ uses: pypa/gh-action-pypi-publish@release/v1
@@ -0,0 +1,10 @@
1
+ #virtual environment file
2
+ .venv/
3
+
4
+ #cache files
5
+ _pycache_/
6
+ *.pyc
7
+
8
+ #vscode files
9
+ .vscode/
10
+ .idea/
@@ -0,0 +1 @@
1
+ 3.12
@@ -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 = "error_san"
7
+ version = "0.1.0"
8
+ dependencies = [
9
+ "pyo3",
10
+ ]
11
+
12
+ [[package]]
13
+ name = "heck"
14
+ version = "0.5.0"
15
+ source = "registry+https://github.com/rust-lang/crates.io-index"
16
+ checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
17
+
18
+ [[package]]
19
+ name = "libc"
20
+ version = "0.2.189"
21
+ source = "registry+https://github.com/rust-lang/crates.io-index"
22
+ checksum = "3eaf3ede3fee6db1a4c2ee091bf8a8b4dccdc6d17f656fb07896ee72867612f2"
23
+
24
+ [[package]]
25
+ name = "once_cell"
26
+ version = "1.21.4"
27
+ source = "registry+https://github.com/rust-lang/crates.io-index"
28
+ checksum = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50"
29
+
30
+ [[package]]
31
+ name = "portable-atomic"
32
+ version = "1.15.0"
33
+ source = "registry+https://github.com/rust-lang/crates.io-index"
34
+ checksum = "05c8b63e8d9609db387f0324918f81d68fe27748f084ef092fb35954d0539a85"
35
+
36
+ [[package]]
37
+ name = "proc-macro2"
38
+ version = "1.0.107"
39
+ source = "registry+https://github.com/rust-lang/crates.io-index"
40
+ checksum = "985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9"
41
+ dependencies = [
42
+ "unicode-ident",
43
+ ]
44
+
45
+ [[package]]
46
+ name = "pyo3"
47
+ version = "0.28.3"
48
+ source = "registry+https://github.com/rust-lang/crates.io-index"
49
+ checksum = "91fd8e38a3b50ed1167fb981cd6fd60147e091784c427b8f7183a7ee32c31c12"
50
+ dependencies = [
51
+ "libc",
52
+ "once_cell",
53
+ "portable-atomic",
54
+ "pyo3-build-config",
55
+ "pyo3-ffi",
56
+ "pyo3-macros",
57
+ ]
58
+
59
+ [[package]]
60
+ name = "pyo3-build-config"
61
+ version = "0.28.3"
62
+ source = "registry+https://github.com/rust-lang/crates.io-index"
63
+ checksum = "e368e7ddfdeb98c9bca7f8383be1648fd84ab466bf2bc015e94008db6d35611e"
64
+ dependencies = [
65
+ "target-lexicon",
66
+ ]
67
+
68
+ [[package]]
69
+ name = "pyo3-ffi"
70
+ version = "0.28.3"
71
+ source = "registry+https://github.com/rust-lang/crates.io-index"
72
+ checksum = "7f29e10af80b1f7ccaf7f69eace800a03ecd13e883acfacc1e5d0988605f651e"
73
+ dependencies = [
74
+ "libc",
75
+ "pyo3-build-config",
76
+ ]
77
+
78
+ [[package]]
79
+ name = "pyo3-macros"
80
+ version = "0.28.3"
81
+ source = "registry+https://github.com/rust-lang/crates.io-index"
82
+ checksum = "df6e520eff47c45997d2fc7dd8214b25dd1310918bbb2642156ef66a67f29813"
83
+ dependencies = [
84
+ "proc-macro2",
85
+ "pyo3-macros-backend",
86
+ "quote",
87
+ "syn",
88
+ ]
89
+
90
+ [[package]]
91
+ name = "pyo3-macros-backend"
92
+ version = "0.28.3"
93
+ source = "registry+https://github.com/rust-lang/crates.io-index"
94
+ checksum = "c4cdc218d835738f81c2338f822078af45b4afdf8b2e33cbb5916f108b813acb"
95
+ dependencies = [
96
+ "heck",
97
+ "proc-macro2",
98
+ "pyo3-build-config",
99
+ "quote",
100
+ "syn",
101
+ ]
102
+
103
+ [[package]]
104
+ name = "quote"
105
+ version = "1.0.47"
106
+ source = "registry+https://github.com/rust-lang/crates.io-index"
107
+ checksum = "1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001"
108
+ dependencies = [
109
+ "proc-macro2",
110
+ ]
111
+
112
+ [[package]]
113
+ name = "syn"
114
+ version = "2.0.119"
115
+ source = "registry+https://github.com/rust-lang/crates.io-index"
116
+ checksum = "872831b642d1a07999a962a351ed35b955ea2cfc8f3862091e2a240a84f17297"
117
+ dependencies = [
118
+ "proc-macro2",
119
+ "quote",
120
+ "unicode-ident",
121
+ ]
122
+
123
+ [[package]]
124
+ name = "target-lexicon"
125
+ version = "0.13.5"
126
+ source = "registry+https://github.com/rust-lang/crates.io-index"
127
+ checksum = "adb6935a6f5c20170eeceb1a3835a49e12e19d792f6dd344ccc76a985ca5a6ca"
128
+
129
+ [[package]]
130
+ name = "unicode-ident"
131
+ version = "1.0.24"
132
+ source = "registry+https://github.com/rust-lang/crates.io-index"
133
+ checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75"
@@ -0,0 +1,15 @@
1
+ [package]
2
+ name = "error_san"
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,12 @@
1
+ Metadata-Version: 2.4
2
+ Name: error-san
3
+ Version: 0.1.0
4
+ Requires-Dist: matplotlib>=3.11.1
5
+ Requires-Dist: torch>=2.13.0
6
+ Summary: Add your description here
7
+ Author-email: error-sangh <sanjinomo7@gmail.com>
8
+ Requires-Python: >=3.12
9
+ Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
10
+
11
+ #Information about error-san:
12
+ This package helps to calcualte discrete derivatives from data points. For this you should provide the values of time and signal in arrays of same length.
@@ -0,0 +1,2 @@
1
+ #Information about error-san:
2
+ This package helps to calcualte discrete derivatives from data points. For this you should provide the values of time and signal in arrays of same length.
@@ -0,0 +1,34 @@
1
+ [project]
2
+ name = "error-san"
3
+ version = "0.1.0"
4
+ description = "Add your description here"
5
+ readme = "README.md"
6
+ authors = [
7
+ { name = "error-sangh", email = "sanjinomo7@gmail.com" }
8
+ ]
9
+ requires-python = ">=3.12"
10
+ dependencies = [
11
+ "matplotlib>=3.11.1",
12
+ "torch>=2.13.0",
13
+ ]
14
+
15
+ [project.scripts]
16
+ error-san = "error_san:main"
17
+
18
+ [tool.maturin]
19
+ module-name = "error_san._core"
20
+ python-packages = ["error_san"]
21
+ python-source = "src"
22
+
23
+ [tool.uv]
24
+ cache-keys = [{ file = "pyproject.toml" }, { file = "src/**/*.rs" }, { file = "Cargo.toml" }, { file = "Cargo.lock" }]
25
+
26
+ [build-system]
27
+ requires = ["maturin>=1.0,<2.0"]
28
+ build-backend = "maturin"
29
+
30
+ [dependency-groups]
31
+ dev = [
32
+ "maturin>=1.15.0",
33
+ "torch>=2.13.0",
34
+ ]
@@ -0,0 +1,5 @@
1
+ from error_san._core import hello_from_bin
2
+
3
+
4
+ def main() -> None:
5
+ print(hello_from_bin())
@@ -0,0 +1 @@
1
+ def hello_from_bin() -> str: ...
@@ -0,0 +1,2 @@
1
+ from .discrete import diff
2
+ __all__ = ['diff']
@@ -0,0 +1,15 @@
1
+
2
+
3
+ def diff(t, x):
4
+ v = []
5
+
6
+ #check if the lengths of both the arrays match or not
7
+ if len(x) != len(t):
8
+ print("ERROR: Length mismatch")
9
+ return None
10
+ #else we move forward and do the calculation
11
+ else:
12
+ for i in range(1, len(x)):
13
+ #here we compute the discrete derivative between two consecutive samples and store it in v
14
+ v.append((x[i] - x[i-1])/(t[i] - t[i-1]))
15
+ return v
@@ -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 error-san!".to_string()
13
+ }
14
+ }
@@ -0,0 +1,3 @@
1
+ Signature: 8a477f597d28d172789f06886806bc55
2
+ # This file is a cache directory tag created by cargo.
3
+ # For information about cache directory tags see https://bford.info/cachedir/