destack 0.55.2__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,114 @@
1
+ # Python
2
+ __pycache__/
3
+ *.py[cod]
4
+ *$py.class
5
+ *.so
6
+ dist/
7
+ *.egg-info/
8
+ .installed.cfg
9
+ *.egg
10
+ pip-log.txt
11
+ pip-delete-this-directory.txt
12
+ htmlcov/
13
+ .tox/
14
+ .nox/
15
+ .coverage
16
+ .coverage.*
17
+ .cache
18
+ nosetests.xml
19
+ coverage.xml
20
+ *.cover
21
+ *.py,cover
22
+ .hypothesis/
23
+ .pytest_cache/
24
+ cover/
25
+ .env
26
+ .env.local
27
+ .venv
28
+ env/
29
+ venv/
30
+ ENV/
31
+ env.bak/
32
+ venv.bak/
33
+ .mypy_cache/
34
+ .dmypy.json
35
+ dmypy.json
36
+ .pyre/
37
+ .pytype/
38
+
39
+ # Rust
40
+ target/
41
+ **/target/
42
+ Cargo.lock
43
+ *.trace
44
+
45
+ # JavaScript/TypeScript/Node
46
+ node_modules/
47
+ *.node
48
+ *.log
49
+ npm-debug.log*
50
+ yarn-debug.log*
51
+ yarn-error.log*
52
+ .pnpm-debug.log*
53
+ *.pid
54
+ *.seed
55
+ *.pid.lock
56
+ coverage
57
+ *.lcov
58
+ .nyc_output
59
+ *.tsbuildinfo
60
+ .npm
61
+ .eslintcache
62
+ .stylelintcache
63
+ .rpt2_cache/
64
+ .rts2_cache_cjs/
65
+ .rts2_cache_es/
66
+ .rts2_cache_umd/
67
+ *.tgz
68
+ .yarn-integrity
69
+ .env.dev.local
70
+ .env.test.local
71
+ .env.stage.local
72
+ .env.prod.local
73
+ .cache
74
+ .parcel-cache
75
+ .next
76
+ out
77
+ .nuxt
78
+ dist
79
+ .temp
80
+ .yarn/cache
81
+ .yarn/unplugged
82
+ .yarn/build-state.yml
83
+ .yarn/install-state.gz
84
+ .pnp.*
85
+ *.vsix
86
+
87
+ # tree-sitter grammar local build artifacts
88
+ language/grammar/destack/build/
89
+ language/grammar/destack/prebuilds/
90
+ language/grammar/destack/.build/
91
+ language/grammar/destack/_obj/
92
+
93
+ # Fuzzing
94
+ **/hfuzz_target/**
95
+ **/fuzz/corpus/**
96
+ **/fuzz/artifacts/**
97
+
98
+ # IDE/Editor
99
+ .idea/
100
+ .vscode/
101
+ .vscode-test
102
+ .zed/
103
+ .cursor
104
+ *.code-workspace
105
+ *.gpg
106
+
107
+ # Infrastructure
108
+ destack-infra/.*
109
+ *.tfstate
110
+ *.tfstate.*
111
+ *.tfvars
112
+ .DS_Store
113
+
114
+ *.destack
@@ -0,0 +1,43 @@
1
+ Metadata-Version: 2.4
2
+ Name: destack
3
+ Version: 0.55.2
4
+ Summary: Python client for Destack
5
+ Project-URL: Homepage, https://github.com/destack-sh/destack
6
+ Project-URL: Repository, https://github.com/destack-sh/destack
7
+ Project-URL: Issues, https://github.com/destack-sh/destack/issues
8
+ Author: Symbol Industries
9
+ License: MIT
10
+ Keywords: compiler,destack,runtime,typescript
11
+ Classifier: Development Status :: 3 - Alpha
12
+ Classifier: Intended Audience :: Developers
13
+ Classifier: License :: OSI Approved :: MIT License
14
+ Classifier: Programming Language :: Python :: 3
15
+ Classifier: Programming Language :: Python :: 3 :: Only
16
+ Classifier: Programming Language :: Python :: 3.10
17
+ Classifier: Programming Language :: Python :: 3.11
18
+ Classifier: Programming Language :: Python :: 3.12
19
+ Classifier: Programming Language :: Python :: 3.13
20
+ Classifier: Topic :: Software Development :: Compilers
21
+ Requires-Python: >=3.10
22
+ Description-Content-Type: text/markdown
23
+
24
+ # destack (Python)
25
+
26
+ Python client for Destack.
27
+ This package is published to PyPI as `destack`.
28
+
29
+ ## Installation
30
+
31
+ ```sh
32
+ pip install destack
33
+ ```
34
+
35
+ ## API
36
+
37
+ ```python
38
+ from destack import create_client
39
+
40
+ client = create_client()
41
+ assert client.backend == "python"
42
+ assert client.version() == "0.55.2"
43
+ ```
@@ -0,0 +1,20 @@
1
+ # destack (Python)
2
+
3
+ Python client for Destack.
4
+ This package is published to PyPI as `destack`.
5
+
6
+ ## Installation
7
+
8
+ ```sh
9
+ pip install destack
10
+ ```
11
+
12
+ ## API
13
+
14
+ ```python
15
+ from destack import create_client
16
+
17
+ client = create_client()
18
+ assert client.backend == "python"
19
+ assert client.version() == "0.55.2"
20
+ ```
@@ -0,0 +1,34 @@
1
+ [build-system]
2
+ requires = ["hatchling>=1.24"]
3
+ build-backend = "hatchling.build"
4
+
5
+ [project]
6
+ name = "destack"
7
+ version = "0.55.2"
8
+ description = "Python client for Destack"
9
+ readme = "README.md"
10
+ license = { text = "MIT" }
11
+ requires-python = ">=3.10"
12
+ dependencies = []
13
+ authors = [{ name = "Symbol Industries" }]
14
+ keywords = ["destack", "typescript", "compiler", "runtime"]
15
+ classifiers = [
16
+ "Development Status :: 3 - Alpha",
17
+ "Intended Audience :: Developers",
18
+ "License :: OSI Approved :: MIT License",
19
+ "Programming Language :: Python :: 3",
20
+ "Programming Language :: Python :: 3 :: Only",
21
+ "Programming Language :: Python :: 3.10",
22
+ "Programming Language :: Python :: 3.11",
23
+ "Programming Language :: Python :: 3.12",
24
+ "Programming Language :: Python :: 3.13",
25
+ "Topic :: Software Development :: Compilers",
26
+ ]
27
+
28
+ [project.urls]
29
+ Homepage = "https://github.com/destack-sh/destack"
30
+ Repository = "https://github.com/destack-sh/destack"
31
+ Issues = "https://github.com/destack-sh/destack/issues"
32
+
33
+ [tool.hatch.build.targets.wheel]
34
+ packages = ["src/destack"]
@@ -0,0 +1,19 @@
1
+ [package]
2
+ name = "destack_python"
3
+ description = "Python bindings support crate for Destack"
4
+ version.workspace = true
5
+ edition.workspace = true
6
+ authors.workspace = true
7
+ license.workspace = true
8
+ rust-version.workspace = true
9
+ publish = false
10
+ readme = "../README.md"
11
+ repository = "https://github.com/destack-sh/destack"
12
+ homepage = "https://github.com/destack-sh/destack"
13
+
14
+ [lib]
15
+ path = "src/lib.rs"
16
+ doctest = false
17
+
18
+ [lints]
19
+ workspace = true
@@ -0,0 +1,4 @@
1
+ /// Return the crate version.
2
+ pub fn version() -> &'static str {
3
+ env!("CARGO_PKG_VERSION")
4
+ }
@@ -0,0 +1,5 @@
1
+ """Destack Python client package."""
2
+
3
+ from .client import BACKEND, VERSION, DestackClient, create_client
4
+
5
+ __all__ = ["BACKEND", "VERSION", "DestackClient", "create_client"]
@@ -0,0 +1,52 @@
1
+ from __future__ import annotations
2
+
3
+ from importlib.metadata import PackageNotFoundError, version as package_version
4
+ from pathlib import Path
5
+
6
+
7
+ def _version_from_local_pyproject() -> str | None:
8
+ pyproject = Path(__file__).resolve().parents[2] / "pyproject.toml"
9
+ if not pyproject.exists():
10
+ return None
11
+
12
+ text = pyproject.read_text(encoding="utf8")
13
+ for line in text.splitlines():
14
+ stripped = line.strip()
15
+ if not stripped.startswith("version = "):
16
+ continue
17
+
18
+ return stripped.split("=", 1)[1].strip().strip('"').strip("'")
19
+
20
+ return None
21
+
22
+
23
+ def _resolve_version() -> str:
24
+ local_version = _version_from_local_pyproject()
25
+ if local_version is not None:
26
+ return local_version
27
+
28
+ try:
29
+ return package_version("destack")
30
+ except PackageNotFoundError as error:
31
+ raise RuntimeError("failed to resolve destack package version") from error
32
+
33
+
34
+ VERSION = _resolve_version()
35
+ BACKEND = "python"
36
+
37
+
38
+ class DestackClient:
39
+ """A client for Destack."""
40
+
41
+ backend = BACKEND
42
+
43
+ def version(self) -> str:
44
+ """Return the package version."""
45
+
46
+ return VERSION
47
+
48
+
49
+ def create_client() -> DestackClient:
50
+ """Create a client instance."""
51
+
52
+ return DestackClient()
File without changes