beaver-db 0.17.0__tar.gz → 0.17.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.
Potentially problematic release.
This version of beaver-db might be problematic. Click here for more details.
- {beaver_db-0.17.0 → beaver_db-0.17.2}/PKG-INFO +3 -2
- beaver_db-0.17.2/beaver/cli.py +66 -0
- {beaver_db-0.17.0 → beaver_db-0.17.2}/makefile +1 -1
- {beaver_db-0.17.0 → beaver_db-0.17.2}/pyproject.toml +4 -4
- {beaver_db-0.17.0 → beaver_db-0.17.2}/uv.lock +37 -15
- beaver_db-0.17.0/beaver/cli.py +0 -34
- {beaver_db-0.17.0 → beaver_db-0.17.2}/.gitignore +0 -0
- {beaver_db-0.17.0 → beaver_db-0.17.2}/.python-version +0 -0
- {beaver_db-0.17.0 → beaver_db-0.17.2}/LICENSE +0 -0
- {beaver_db-0.17.0 → beaver_db-0.17.2}/README.md +0 -0
- {beaver_db-0.17.0 → beaver_db-0.17.2}/beaver/__init__.py +0 -0
- {beaver_db-0.17.0 → beaver_db-0.17.2}/beaver/blobs.py +0 -0
- {beaver_db-0.17.0 → beaver_db-0.17.2}/beaver/channels.py +0 -0
- {beaver_db-0.17.0 → beaver_db-0.17.2}/beaver/collections.py +0 -0
- {beaver_db-0.17.0 → beaver_db-0.17.2}/beaver/core.py +0 -0
- {beaver_db-0.17.0 → beaver_db-0.17.2}/beaver/dicts.py +0 -0
- {beaver_db-0.17.0 → beaver_db-0.17.2}/beaver/lists.py +0 -0
- {beaver_db-0.17.0 → beaver_db-0.17.2}/beaver/logs.py +0 -0
- {beaver_db-0.17.0 → beaver_db-0.17.2}/beaver/queues.py +0 -0
- {beaver_db-0.17.0 → beaver_db-0.17.2}/beaver/server.py +0 -0
- {beaver_db-0.17.0 → beaver_db-0.17.2}/beaver/types.py +0 -0
- {beaver_db-0.17.0 → beaver_db-0.17.2}/beaver/vectors.py +0 -0
- {beaver_db-0.17.0 → beaver_db-0.17.2}/design.md +0 -0
- {beaver_db-0.17.0 → beaver_db-0.17.2}/examples/async_pubsub.py +0 -0
- {beaver_db-0.17.0 → beaver_db-0.17.2}/examples/blobs.py +0 -0
- {beaver_db-0.17.0 → beaver_db-0.17.2}/examples/cache.py +0 -0
- {beaver_db-0.17.0 → beaver_db-0.17.2}/examples/fts.py +0 -0
- {beaver_db-0.17.0 → beaver_db-0.17.2}/examples/fuzzy.py +0 -0
- {beaver_db-0.17.0 → beaver_db-0.17.2}/examples/general_test.py +0 -0
- {beaver_db-0.17.0 → beaver_db-0.17.2}/examples/graph.py +0 -0
- {beaver_db-0.17.0 → beaver_db-0.17.2}/examples/kvstore.py +0 -0
- {beaver_db-0.17.0 → beaver_db-0.17.2}/examples/list.py +0 -0
- {beaver_db-0.17.0 → beaver_db-0.17.2}/examples/logs.py +0 -0
- {beaver_db-0.17.0 → beaver_db-0.17.2}/examples/pqueue.py +0 -0
- {beaver_db-0.17.0 → beaver_db-0.17.2}/examples/producer_consumer.py +0 -0
- {beaver_db-0.17.0 → beaver_db-0.17.2}/examples/publisher.py +0 -0
- {beaver_db-0.17.0 → beaver_db-0.17.2}/examples/pubsub.py +0 -0
- {beaver_db-0.17.0 → beaver_db-0.17.2}/examples/rerank.py +0 -0
- {beaver_db-0.17.0 → beaver_db-0.17.2}/examples/stress_vectors.py +0 -0
- {beaver_db-0.17.0 → beaver_db-0.17.2}/examples/subscriber.py +0 -0
- {beaver_db-0.17.0 → beaver_db-0.17.2}/examples/textual_chat.css +0 -0
- {beaver_db-0.17.0 → beaver_db-0.17.2}/examples/textual_chat.py +0 -0
- {beaver_db-0.17.0 → beaver_db-0.17.2}/examples/type_hints.py +0 -0
- {beaver_db-0.17.0 → beaver_db-0.17.2}/examples/vector.py +0 -0
- {beaver_db-0.17.0 → beaver_db-0.17.2}/roadmap.md +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: beaver-db
|
|
3
|
-
Version: 0.17.
|
|
3
|
+
Version: 0.17.2
|
|
4
4
|
Summary: Fast, embedded, and multi-modal DB based on SQLite for AI-powered applications.
|
|
5
5
|
License-File: LICENSE
|
|
6
6
|
Classifier: License :: OSI Approved :: MIT License
|
|
@@ -10,14 +10,15 @@ Classifier: Topic :: Database
|
|
|
10
10
|
Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
|
|
11
11
|
Requires-Python: >=3.13
|
|
12
12
|
Provides-Extra: cli
|
|
13
|
+
Requires-Dist: python-fire[cli]>=0.1.0; extra == 'cli'
|
|
13
14
|
Requires-Dist: typer>=0.19.2; extra == 'cli'
|
|
14
15
|
Provides-Extra: full
|
|
15
16
|
Requires-Dist: faiss-cpu>=1.12.0; extra == 'full'
|
|
16
17
|
Requires-Dist: fastapi[standard]>=0.118.0; extra == 'full'
|
|
18
|
+
Requires-Dist: python-fire[cli]>=0.1.0; extra == 'full'
|
|
17
19
|
Requires-Dist: typer>=0.19.2; extra == 'full'
|
|
18
20
|
Provides-Extra: server
|
|
19
21
|
Requires-Dist: fastapi[standard]>=0.118.0; extra == 'server'
|
|
20
|
-
Requires-Dist: typer>=0.19.2; extra == 'server'
|
|
21
22
|
Provides-Extra: vector
|
|
22
23
|
Requires-Dist: faiss-cpu>=1.12.0; extra == 'vector'
|
|
23
24
|
Description-Content-Type: text/markdown
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
from typing import Annotated
|
|
2
|
+
import typer
|
|
3
|
+
import rich
|
|
4
|
+
|
|
5
|
+
app = typer.Typer()
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
@app.command()
|
|
9
|
+
def serve(
|
|
10
|
+
database: str = typer.Option(
|
|
11
|
+
"beaver.db", "--database", "-d", help="Path to the database file."
|
|
12
|
+
),
|
|
13
|
+
host: str = typer.Option(
|
|
14
|
+
"127.0.0.1", "--host", "-h", help="The host to bind the server to."
|
|
15
|
+
),
|
|
16
|
+
port: int = typer.Option(
|
|
17
|
+
8000, "--port", "-p", help="The port to run the server on."
|
|
18
|
+
),
|
|
19
|
+
):
|
|
20
|
+
"""
|
|
21
|
+
Starts a RESTful API server for a BeaverDB instance.
|
|
22
|
+
"""
|
|
23
|
+
try:
|
|
24
|
+
from .server import serve as run_server
|
|
25
|
+
except ImportError as e:
|
|
26
|
+
rich.print(f"[red]Error: {e}[/]")
|
|
27
|
+
rich.print('[yellow]Please install the server dependencies with `pip install "beaver-db[server]"`[/]')
|
|
28
|
+
raise typer.Exit(code=1)
|
|
29
|
+
|
|
30
|
+
rich.print(f"[blue]Starting server for database at '{database}' on http://{host}:{port}[/]")
|
|
31
|
+
run_server(db_path=database, host=host, port=port)
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
@app.command(
|
|
35
|
+
context_settings={"allow_extra_args": True, "ignore_unknown_options": True}
|
|
36
|
+
)
|
|
37
|
+
def client(
|
|
38
|
+
ctx: typer.Context,
|
|
39
|
+
database: Annotated[
|
|
40
|
+
str, typer.Option(help="The path to the BeaverDB database file.")
|
|
41
|
+
] = "beaver.db",
|
|
42
|
+
):
|
|
43
|
+
"""
|
|
44
|
+
Provides a command-line client to interact with the database.
|
|
45
|
+
|
|
46
|
+
All arguments after 'client' are passed directly to the database object.
|
|
47
|
+
Example: beaver client --database my.db dict my_dict get my_key
|
|
48
|
+
"""
|
|
49
|
+
try:
|
|
50
|
+
import fire
|
|
51
|
+
from .core import BeaverDB
|
|
52
|
+
except ImportError:
|
|
53
|
+
print(
|
|
54
|
+
"Error: To use the client command, please install the CLI dependencies:\n"
|
|
55
|
+
'pip install "beaver-db[cli]"'
|
|
56
|
+
)
|
|
57
|
+
raise typer.Exit(code=1)
|
|
58
|
+
|
|
59
|
+
db = BeaverDB(database)
|
|
60
|
+
# The arguments for fire are passed via ctx.args, which captures everything
|
|
61
|
+
# after the 'client' command.
|
|
62
|
+
fire.Fire(db, command=ctx.args)
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
if __name__ == "__main__":
|
|
66
|
+
app()
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "beaver-db"
|
|
3
|
-
version = "0.17.
|
|
3
|
+
version = "0.17.2"
|
|
4
4
|
description = "Fast, embedded, and multi-modal DB based on SQLite for AI-powered applications."
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
requires-python = ">=3.13"
|
|
@@ -24,9 +24,9 @@ packages = ["beaver"]
|
|
|
24
24
|
|
|
25
25
|
[project.optional-dependencies]
|
|
26
26
|
vector = ["faiss-cpu>=1.12.0"]
|
|
27
|
-
server = ["fastapi[standard]>=0.118.0"
|
|
28
|
-
cli = ["typer>=0.19.2"]
|
|
29
|
-
full = ["
|
|
27
|
+
server = ["fastapi[standard]>=0.118.0"]
|
|
28
|
+
cli = ["typer>=0.19.2", "python-fire[cli]>=0.1.0"]
|
|
29
|
+
full = ["beaver-db[server]", "beaver-db[vector]", "beaver-db[cli]"]
|
|
30
30
|
|
|
31
31
|
[dependency-groups]
|
|
32
32
|
dev = ["textual>=6.1.0"]
|
|
@@ -25,36 +25,46 @@ wheels = [
|
|
|
25
25
|
|
|
26
26
|
[[package]]
|
|
27
27
|
name = "beaver-db"
|
|
28
|
-
version = "0.17.
|
|
28
|
+
version = "0.17.1"
|
|
29
29
|
source = { editable = "." }
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
faiss = [
|
|
33
|
-
{ name = "faiss-cpu" },
|
|
30
|
+
dependencies = [
|
|
31
|
+
{ name = "python-fire" },
|
|
34
32
|
]
|
|
35
33
|
|
|
36
|
-
[package.
|
|
34
|
+
[package.optional-dependencies]
|
|
37
35
|
cli = [
|
|
38
36
|
{ name = "typer" },
|
|
39
37
|
]
|
|
40
|
-
|
|
41
|
-
{ name = "
|
|
38
|
+
full = [
|
|
39
|
+
{ name = "faiss-cpu" },
|
|
40
|
+
{ name = "fastapi", extra = ["standard"] },
|
|
41
|
+
{ name = "typer" },
|
|
42
42
|
]
|
|
43
43
|
server = [
|
|
44
44
|
{ name = "fastapi", extra = ["standard"] },
|
|
45
|
-
|
|
45
|
+
]
|
|
46
|
+
vector = [
|
|
47
|
+
{ name = "faiss-cpu" },
|
|
48
|
+
]
|
|
49
|
+
|
|
50
|
+
[package.dev-dependencies]
|
|
51
|
+
dev = [
|
|
52
|
+
{ name = "textual" },
|
|
46
53
|
]
|
|
47
54
|
|
|
48
55
|
[package.metadata]
|
|
49
|
-
requires-dist = [
|
|
56
|
+
requires-dist = [
|
|
57
|
+
{ name = "beaver-db", extras = ["cli"], marker = "extra == 'full'" },
|
|
58
|
+
{ name = "beaver-db", extras = ["server"], marker = "extra == 'full'" },
|
|
59
|
+
{ name = "beaver-db", extras = ["vector"], marker = "extra == 'full'" },
|
|
60
|
+
{ name = "faiss-cpu", marker = "extra == 'vector'", specifier = ">=1.12.0" },
|
|
61
|
+
{ name = "fastapi", extras = ["standard"], marker = "extra == 'server'", specifier = ">=0.118.0" },
|
|
62
|
+
{ name = "python-fire", extras = ["cli"], specifier = ">=0.1.0" },
|
|
63
|
+
{ name = "typer", marker = "extra == 'cli'", specifier = ">=0.19.2" },
|
|
64
|
+
]
|
|
50
65
|
|
|
51
66
|
[package.metadata.requires-dev]
|
|
52
|
-
cli = [{ name = "typer", specifier = ">=0.19.2" }]
|
|
53
67
|
dev = [{ name = "textual", specifier = ">=6.1.0" }]
|
|
54
|
-
server = [
|
|
55
|
-
{ name = "fastapi", extras = ["standard"], specifier = ">=0.118.0" },
|
|
56
|
-
{ name = "typer", specifier = ">=0.19.2" },
|
|
57
|
-
]
|
|
58
68
|
|
|
59
69
|
[[package]]
|
|
60
70
|
name = "certifi"
|
|
@@ -520,6 +530,18 @@ wheels = [
|
|
|
520
530
|
{ url = "https://files.pythonhosted.org/packages/5f/ed/539768cf28c661b5b068d66d96a2f155c4971a5d55684a514c1a0e0dec2f/python_dotenv-1.1.1-py3-none-any.whl", hash = "sha256:31f23644fe2602f88ff55e1f5c79ba497e01224ee7737937930c448e4d0e24dc", size = 20556 },
|
|
521
531
|
]
|
|
522
532
|
|
|
533
|
+
[[package]]
|
|
534
|
+
name = "python-fire"
|
|
535
|
+
version = "0.1.0"
|
|
536
|
+
source = { registry = "https://pypi.org/simple" }
|
|
537
|
+
dependencies = [
|
|
538
|
+
{ name = "pygments" },
|
|
539
|
+
]
|
|
540
|
+
sdist = { url = "https://files.pythonhosted.org/packages/8a/6f/44ae4333d02d597021b4abb47103a564a05404d82132d1517080ce124ff5/python-fire-0.1.0.tar.gz", hash = "sha256:ed3cb202288c6e742a077611fb884b154068758f9ec65eb827520d670bdbada9", size = 19941 }
|
|
541
|
+
wheels = [
|
|
542
|
+
{ url = "https://files.pythonhosted.org/packages/dd/e9/d7a7f52c698f76941dbd04bc950772dc08d2bb91245867f52ed304003ac9/python_fire-0.1.0-py2.py3-none-any.whl", hash = "sha256:21c1c1de2106844091f0b7485ed5aa94cc943a83b5218b913a19822395da4bc0", size = 14093 },
|
|
543
|
+
]
|
|
544
|
+
|
|
523
545
|
[[package]]
|
|
524
546
|
name = "python-multipart"
|
|
525
547
|
version = "0.0.20"
|
beaver_db-0.17.0/beaver/cli.py
DELETED
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import typer
|
|
2
|
-
import rich
|
|
3
|
-
|
|
4
|
-
app = typer.Typer()
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
@app.command()
|
|
8
|
-
def serve(
|
|
9
|
-
database: str = typer.Option(
|
|
10
|
-
"beaver.db", "--database", "-d", help="Path to the database file."
|
|
11
|
-
),
|
|
12
|
-
host: str = typer.Option(
|
|
13
|
-
"127.0.0.1", "--host", "-h", help="The host to bind the server to."
|
|
14
|
-
),
|
|
15
|
-
port: int = typer.Option(
|
|
16
|
-
8000, "--port", "-p", help="The port to run the server on."
|
|
17
|
-
),
|
|
18
|
-
):
|
|
19
|
-
"""
|
|
20
|
-
Starts a RESTful API server for a BeaverDB instance.
|
|
21
|
-
"""
|
|
22
|
-
try:
|
|
23
|
-
from .server import serve as run_server
|
|
24
|
-
except ImportError as e:
|
|
25
|
-
rich.print(f"[red]Error: {e}[/]")
|
|
26
|
-
rich.print('[yellow]Please install the server dependencies with `pip install "beaver-db[server]"`[/]')
|
|
27
|
-
raise typer.Exit(code=1)
|
|
28
|
-
|
|
29
|
-
rich.print(f"[blue]Starting server for database at '{database}' on http://{host}:{port}[/]")
|
|
30
|
-
run_server(db_path=database, host=host, port=port)
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
if __name__ == "__main__":
|
|
34
|
-
app()
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|