ragbits-cli 0.0.1__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,97 @@
1
+ # Directories
2
+ .vscode/
3
+ .idea/
4
+ .neptune/
5
+ .pytest_cache/
6
+ .mypy_cache/
7
+ venv/
8
+ __pycache__/
9
+ **.egg-info/
10
+
11
+ # Byte-compiled / optimized / DLL files
12
+ __pycache__/
13
+ *.py[cod]
14
+ *$py.class
15
+
16
+ # C extensions
17
+ *.so
18
+
19
+ # Distribution / packaging
20
+ .Python
21
+ env/
22
+ build/
23
+ develop-eggs/
24
+ dist/
25
+ downloads/
26
+ eggs/
27
+ .eggs/
28
+ lib/
29
+ lib64/
30
+ parts/
31
+ sdist/
32
+ var/
33
+ *.egg-info/
34
+ .installed.cfg
35
+ *.egg
36
+
37
+ # Sphinx documentation
38
+ docs/_build/
39
+ public/
40
+ # autogenerated package license table
41
+ docs/licenses_table.rst
42
+
43
+ # license dump file
44
+ licenses.txt
45
+
46
+ # File formats
47
+ *.onnx
48
+ *.pyc
49
+ *.pt
50
+ *.pth
51
+ *.pkl
52
+ *.mar
53
+ *.torchscript
54
+ **/.ipynb_checkpoints
55
+ **/dist/
56
+ **/checkpoints/
57
+ **/outputs/
58
+ **/multirun/
59
+
60
+ # Other env files
61
+ .python-version
62
+ pyvenv.cfg
63
+ pip-selfcheck.json
64
+
65
+ # Unit test / coverage reports
66
+ htmlcov/
67
+ .tox/
68
+ .coverage
69
+ .coverage.*
70
+ .cache
71
+ nosetests.xml
72
+ coverage.xml
73
+ *,cover
74
+ .hypothesis/
75
+
76
+ # dotenv
77
+ .env
78
+
79
+ # coverage and pytest reports
80
+ coverage.xml
81
+ report.xml
82
+
83
+ # CMake
84
+ cmake-build-*/
85
+
86
+ # Terraform
87
+ **/.terraform.lock.hcl
88
+ **/.terraform
89
+
90
+ # benchmarks
91
+ benchmarks/sql/data/
92
+
93
+ # mkdocs generated files
94
+ site/
95
+
96
+ # build artifacts
97
+ dist/
@@ -0,0 +1,23 @@
1
+ Metadata-Version: 2.3
2
+ Name: ragbits-cli
3
+ Version: 0.0.1
4
+ Summary: A CLI application for ragbits - building blocks for rapid development of GenAI applications
5
+ Author-email: "deepsense.ai" <contact@deepsense.ai>
6
+ License-Expression: MIT
7
+ Keywords: GenAI,Generative AI,LLMs,Large Language Models,Prompt Management,RAG,Retrieval Augmented Generation
8
+ Classifier: Development Status :: 1 - Planning
9
+ Classifier: Environment :: Console
10
+ Classifier: Intended Audience :: Science/Research
11
+ Classifier: License :: OSI Approved :: MIT License
12
+ Classifier: Natural Language :: English
13
+ Classifier: Operating System :: OS Independent
14
+ Classifier: Programming Language :: Python :: 3.10
15
+ Classifier: Programming Language :: Python :: 3.11
16
+ Classifier: Programming Language :: Python :: 3.12
17
+ Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
18
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
19
+ Requires-Python: >=3.10
20
+ Requires-Dist: typer>=0.12.5
21
+ Description-Content-Type: text/markdown
22
+
23
+ # Ragbits CLI
@@ -0,0 +1 @@
1
+ # Ragbits CLI
@@ -0,0 +1,52 @@
1
+ [project]
2
+ name = "ragbits-cli"
3
+ version = "0.0.1"
4
+ description = "A CLI application for ragbits - building blocks for rapid development of GenAI applications"
5
+ readme = "README.md"
6
+ requires-python = ">=3.10"
7
+ license = "MIT"
8
+ authors = [
9
+ { name = "deepsense.ai", email = "contact@deepsense.ai"}
10
+ ]
11
+ keywords = [
12
+ "Retrieval Augmented Generation",
13
+ "RAG",
14
+ "Large Language Models",
15
+ "LLMs",
16
+ "Generative AI",
17
+ "GenAI",
18
+ "Prompt Management"
19
+ ]
20
+ classifiers = [
21
+ "Development Status :: 1 - Planning",
22
+ "Environment :: Console",
23
+ "Intended Audience :: Science/Research",
24
+ "License :: OSI Approved :: MIT License",
25
+ "Natural Language :: English",
26
+ "Operating System :: OS Independent",
27
+ "Programming Language :: Python :: 3.10",
28
+ "Programming Language :: Python :: 3.11",
29
+ "Programming Language :: Python :: 3.12",
30
+ "Topic :: Scientific/Engineering :: Artificial Intelligence",
31
+ "Topic :: Software Development :: Libraries :: Python Modules",
32
+ ]
33
+ dependencies = [
34
+ "typer>=0.12.5",
35
+ ]
36
+
37
+ [project.scripts]
38
+ ragbits = "ragbits.cli:main"
39
+ rbts = "ragbits.cli:main"
40
+
41
+ [build-system]
42
+ requires = ["hatchling"]
43
+ build-backend = "hatchling.build"
44
+
45
+ [tool.hatch.metadata]
46
+ allow-direct-references = true
47
+
48
+ [tool.hatch.build.targets.wheel]
49
+ packages = ["src/ragbits"]
50
+
51
+ [tool.pytest.ini_options]
52
+ asyncio_mode = "auto"
@@ -0,0 +1,31 @@
1
+ import importlib.util
2
+ import pkgutil
3
+
4
+ from typer import Typer
5
+
6
+ import ragbits
7
+
8
+ app = Typer(no_args_is_help=True)
9
+
10
+
11
+ def main() -> None:
12
+ """
13
+ Main entry point for the CLI.
14
+
15
+ This function registers all the CLI modules in the ragbits packages:
16
+ - iterates over every package in the ragbits.* namespace
17
+ - it looks for `cli` package / module
18
+ - if found it imports the `register` function from the `cli` module and calls it with the `app` object
19
+ - register function should add the CLI commands to the `app` object
20
+ """
21
+
22
+ cli_enabled_modules = [
23
+ module
24
+ for module in pkgutil.iter_modules(ragbits.__path__)
25
+ if module.ispkg and module.name != "cli" and importlib.util.find_spec(f"ragbits.{module.name}.cli")
26
+ ]
27
+ for module in cli_enabled_modules:
28
+ register_func = importlib.import_module(f"ragbits.{module.name}.cli").register
29
+ register_func(app)
30
+
31
+ app()