-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCargo.toml
More file actions
46 lines (41 loc) · 1.71 KB
/
Copy pathCargo.toml
File metadata and controls
46 lines (41 loc) · 1.71 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
[package]
name = "plugmem-py"
version.workspace = true
edition.workspace = true
authors.workspace = true
license.workspace = true
repository.workspace = true
homepage.workspace = true
description = "Python extension module (PyO3) for the plugmem engine: plugmem-host exposed in-process to CPython; published to PyPI as `plugmem`."
# Published to PyPI (via maturin), not to crates.io.
publish = false
[lib]
# The import name must match the `#[pymodule]` function, and the module is
# `plugmem._plugmem` (see pyproject.toml `module-name`): the extension sits
# *inside* the pure-Python package so `py.typed`, the `.pyi` and the small
# amount of Python sugar can live next to it.
name = "_plugmem"
# cdylib: the extension module CPython loads. rlib: so native `cargo test` can
# exercise the pure wrapper logic without a Python interpreter, exactly as
# plugmem-napi does.
crate-type = ["cdylib", "rlib"]
[dependencies]
# The engine, embedded as-is (mmap, MVCC, locking, embedder). `config` is the
# shared settings loader — the same one the CLI, MCP and napi read, which is
# what keeps `config.toml` one mechanism rather than four.
plugmem-host = { workspace = true, features = ["config"] }
pyo3 = { workspace = true }
pyo3-stub-gen = { workspace = true }
[[bin]]
# Regenerates `python/plugmem/__init__.pyi`. A binary rather than a build
# script because it has to *load* the registered type information, which only
# exists once the library is linked. CI runs it and fails on a diff, exactly
# as it does for the Node binding's `index.d.ts`.
name = "stub_gen"
path = "src/bin/stub_gen.rs"
[lints]
workspace = true
# A Python extension shipped to PyPI, not a cargo-dist binary — excluded from
# releases.
[package.metadata.dist]
dist = false