arkitekt-server 0.0.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,148 @@
1
+ # Byte-compiled / optimized / DLL files
2
+ __pycache__/
3
+ **/__pycache__
4
+ *.py[cod]
5
+ *$py.class
6
+ *.pyc
7
+ *.DS_Store
8
+
9
+ # C extensions
10
+ *.so
11
+
12
+ # Distribution / packaging
13
+ .Python
14
+ build/
15
+ develop-eggs/
16
+ dist/
17
+ downloads/
18
+ eggs/
19
+ .eggs/
20
+ lib/
21
+ lib64/
22
+ parts/
23
+ sdist/
24
+ var/
25
+ wheels/
26
+ pip-wheel-metadata/
27
+ share/python-wheels/
28
+ *.egg-info/
29
+ .installed.cfg
30
+ *.egg
31
+
32
+ # PyInstaller
33
+ # Usually these files are written by a python script from a template
34
+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
35
+
36
+ *.spec
37
+
38
+ # Installer logs
39
+ pip-log.txt
40
+ pip-delete-this-directory.txt
41
+
42
+ # Unit test / coverage reports
43
+ htmlcov/
44
+ .tox/
45
+ .nox/
46
+ .coverage
47
+ .coverage.*
48
+ .cache
49
+ nosetests.xml
50
+ coverage.xml
51
+ *.cover
52
+ *.py,cover
53
+ .hypothesis/
54
+ .pytest_cache/
55
+ cover/
56
+
57
+ # Translations
58
+ *.mo
59
+ *.pot
60
+
61
+ # Django stuff:
62
+ *.log
63
+ local_settings.py
64
+ db.sqlite3
65
+ db.sqlite3-journal
66
+
67
+ # Flask stuff:
68
+ instance/
69
+ .webassets-cache
70
+
71
+ # Scrapy stuff:
72
+ .scrapy
73
+
74
+ # Sphinx documentation
75
+ docs/_build/
76
+
77
+ # PyBuilder
78
+ .pybuilder/
79
+ target/
80
+
81
+ # Jupyter Notebook
82
+ .ipynb_checkpoints
83
+
84
+ # IPython
85
+ profile_default/
86
+ ipython_config.py
87
+
88
+ # pyenv
89
+ # For a library or package, you might want to ignore these files since the code is
90
+ # intended to run in multiple environments; otherwise, check them in:
91
+ # .python-version
92
+
93
+ # pipenv
94
+ # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
95
+ # However, in case of collaboration, if having platform-specific dependencies or dependencies
96
+ # having no cross-platform support, pipenv may install dependencies that don't work, or not
97
+ # install all needed dependencies.
98
+ #Pipfile.lock
99
+
100
+ # PEP 582; used by e.g. github.com/David-OConnor/pyflow
101
+ __pypackages__/
102
+
103
+ # Celery stuff
104
+ celerybeat-schedule
105
+ celerybeat.pid
106
+
107
+ # SageMath parsed files
108
+ *.sage.py
109
+
110
+ # Environments
111
+ .env
112
+ .venv
113
+ env/
114
+ venv/
115
+ ENV/
116
+ env.bak/
117
+ venv.bak/
118
+
119
+ # Spyder project settings
120
+ .spyderproject
121
+ .spyproject
122
+
123
+ # Rope project settings
124
+ .ropeproject
125
+
126
+ # mkdocs documentation
127
+ /site
128
+
129
+ # mypy
130
+ .mypy_cache/
131
+ .dmypy.json
132
+ dmypy.json
133
+
134
+ # Pyre type checker
135
+ .pyre/
136
+
137
+ # pytype static type analyzer
138
+ .pytype/
139
+
140
+ # Cython debug symbols
141
+ cython_debug/
142
+
143
+ # static files generated from Django application using `collectstatic`
144
+ media
145
+ export
146
+ static_collected
147
+ data
148
+ token.temp
@@ -0,0 +1,169 @@
1
+ Metadata-Version: 2.4
2
+ Name: arkitekt-server
3
+ Version: 0.0.0
4
+ Summary: Add your description here
5
+ Author-email: Your Name <your.email@example.com>
6
+ Keywords: arkitekt,server
7
+ Classifier: Development Status :: 4 - Beta
8
+ Classifier: License :: OSI Approved :: MIT License
9
+ Classifier: Operating System :: OS Independent
10
+ Classifier: Programming Language :: Python :: 3
11
+ Classifier: Programming Language :: Python :: 3.12
12
+ Requires-Python: >=3.12
13
+ Requires-Dist: click>=8.2.1
14
+ Requires-Dist: cryptography>=45.0.5
15
+ Requires-Dist: namegenerator>=1.0.6
16
+ Requires-Dist: pydantic>=2.11.7
17
+ Requires-Dist: pyyaml>=6.0.2
18
+ Requires-Dist: typer>=0.16.0
19
+ Description-Content-Type: text/markdown
20
+
21
+ # Arkitekt Server
22
+
23
+ A command-line tool for deploying and managing an Arkitekt server deployments. Arkitekt Server provides a comprehensive platform for scientific computing and data management, with built-in support for authentication, task orchestration, data storage, and containerized application deployment.
24
+
25
+ ## Overview
26
+
27
+ Arkitekt Server is a deployment configuration management tool that simplifies the setup and management of the Arkitekt ecosystem. It generates Docker Compose configurations and handles the complex orchestration of multiple services including databases, message queues, object storage, and various scientific computing services.
28
+
29
+ ## Requirements
30
+
31
+ - Python 3.12+
32
+ - Docker and Docker Compose
33
+ - Git (for development mode with repository mounting)
34
+
35
+ ## Running
36
+
37
+ ```bash
38
+ uvx arkitekt-server init default
39
+ ```
40
+
41
+ This command initializes a new Arkitekt Server deployment with a default configuration. You can also specify different configurations such as `dev` for development mode or `minimal` for a lightweight setup.
42
+
43
+ ### Non-UVX Usage
44
+
45
+ If you prefer not to use UVX, you can run the tool directly with:
46
+
47
+ ```bash
48
+ pip install arkitekt-server
49
+ arkitekt-server init default
50
+ ```
51
+
52
+ ## Key Features
53
+
54
+ - **One-Command Deployment**: Generate complete Docker Compose configurations with sensible defaults
55
+ - **Service Deployment**: Deploy and manage multiple interconnected services
56
+ - **Authentication & Authorization**: Built-in user management with JWT-based authentication
57
+ - **Development Mode**: Hot-reload support for development with GitHub repository mounting (when available)
58
+
59
+ ## Core Services
60
+
61
+ The Arkitekt ecosystem includes several specialized services:
62
+
63
+ - **Lok**: Authentication and authorization service with JWT token management
64
+ - **Rekuest**: Task orchestration and workflow management
65
+ - **Mikro**: Image and microscopy data management
66
+ - **Kabinet**: Container and application registry
67
+ - **Fluss**: Workflow execution engine
68
+ - **Kraph**: Knowledge graph and metadata management
69
+ - **Elektro**: Event streaming and notifications
70
+ - **Alpaka**: AI/ML model management with Ollama integration
71
+
72
+ ## Quick Start
73
+
74
+ ### Initialize a new deployment
75
+
76
+ ```bash
77
+ # Create a default configuration
78
+ arkitekt-server init default
79
+
80
+ # Create a development configuration with GitHub mounting
81
+ arkitekt-server init dev
82
+
83
+ # Create a minimal configuration
84
+ arkitekt-server init minimal
85
+ ```
86
+
87
+ ### Configure services
88
+
89
+ ```bash
90
+ # Enable/disable specific services
91
+ arkitekt-server service rekuest --enable
92
+ arkitekt-server service mikro --enable
93
+ arkitekt-server service kabinet --enable
94
+ ```
95
+
96
+ ### Manage users
97
+
98
+ ```bash
99
+ # Add a new user
100
+ arkitekt-server auth user add
101
+ ```
102
+
103
+ Allows you to add a new user with options for username, email, and password.
104
+
105
+
106
+ ### Deploy
107
+
108
+ When ready to deploy, run:
109
+
110
+ ```bash
111
+ # Generate Docker Compose files and deploy
112
+ arkitekt-server build docker
113
+ ```
114
+
115
+ This command generates the necessary Docker Compose files based on your configuration and starts the services.
116
+
117
+ ### Start the services
118
+
119
+ ```bash
120
+ docker compose up
121
+ ```
122
+
123
+ This command starts all the services defined in the generated Docker Compose files, wait for the services to be up and running, and then you can access the
124
+ deployment though the orkestrator interface.
125
+
126
+
127
+ ## Configuration
128
+
129
+ The tool generates and manages a `arkitekt_server_config.yaml` file that contains all deployment settings. This file includes:
130
+
131
+ - Service configurations and Docker images
132
+ - Database and Redis settings
133
+ - Object storage (MinIO) configuration
134
+ - Authentication keys and secrets
135
+ - User and group management
136
+ - Network and routing configuration
137
+
138
+ This file can be customized to suit your deployment needs, allowing you to specify local or remote databases, shared or dedicated storage buckets, and development or production deployment modes. This config-file is the central point for managing your Arkitekt Server deployment. And it is automatically generated based on the services you enable and the options you choose during initialization.
139
+
140
+ ## Architecture
141
+
142
+ Arkitekt Server uses a self-container-service architecture with:
143
+
144
+ - **PostgreSQL**: Primary database for all services
145
+ - **Redis**: Message queuing and caching
146
+ - **MinIO**: S3-compatible object storage
147
+ - **Caddy**: Reverse proxy and gateway
148
+ - **Docker**: Container orchestration
149
+
150
+ Each service can be configured independently with options for:
151
+ - Local or remote databases
152
+ - Shared or dedicated storage buckets
153
+ - Development or production deployment modes
154
+ - Custom authentication configurations
155
+
156
+ ## Development
157
+
158
+ For development workflows, the tool supports:
159
+
160
+ - GitHub repository mounting for live code reloading
161
+ - Debug mode with detailed logging
162
+ - Separate development configurations
163
+ - Hot-swappable service configurations
164
+
165
+
166
+
167
+ ## License
168
+
169
+ MIT License
@@ -0,0 +1,149 @@
1
+ # Arkitekt Server
2
+
3
+ A command-line tool for deploying and managing an Arkitekt server deployments. Arkitekt Server provides a comprehensive platform for scientific computing and data management, with built-in support for authentication, task orchestration, data storage, and containerized application deployment.
4
+
5
+ ## Overview
6
+
7
+ Arkitekt Server is a deployment configuration management tool that simplifies the setup and management of the Arkitekt ecosystem. It generates Docker Compose configurations and handles the complex orchestration of multiple services including databases, message queues, object storage, and various scientific computing services.
8
+
9
+ ## Requirements
10
+
11
+ - Python 3.12+
12
+ - Docker and Docker Compose
13
+ - Git (for development mode with repository mounting)
14
+
15
+ ## Running
16
+
17
+ ```bash
18
+ uvx arkitekt-server init default
19
+ ```
20
+
21
+ This command initializes a new Arkitekt Server deployment with a default configuration. You can also specify different configurations such as `dev` for development mode or `minimal` for a lightweight setup.
22
+
23
+ ### Non-UVX Usage
24
+
25
+ If you prefer not to use UVX, you can run the tool directly with:
26
+
27
+ ```bash
28
+ pip install arkitekt-server
29
+ arkitekt-server init default
30
+ ```
31
+
32
+ ## Key Features
33
+
34
+ - **One-Command Deployment**: Generate complete Docker Compose configurations with sensible defaults
35
+ - **Service Deployment**: Deploy and manage multiple interconnected services
36
+ - **Authentication & Authorization**: Built-in user management with JWT-based authentication
37
+ - **Development Mode**: Hot-reload support for development with GitHub repository mounting (when available)
38
+
39
+ ## Core Services
40
+
41
+ The Arkitekt ecosystem includes several specialized services:
42
+
43
+ - **Lok**: Authentication and authorization service with JWT token management
44
+ - **Rekuest**: Task orchestration and workflow management
45
+ - **Mikro**: Image and microscopy data management
46
+ - **Kabinet**: Container and application registry
47
+ - **Fluss**: Workflow execution engine
48
+ - **Kraph**: Knowledge graph and metadata management
49
+ - **Elektro**: Event streaming and notifications
50
+ - **Alpaka**: AI/ML model management with Ollama integration
51
+
52
+ ## Quick Start
53
+
54
+ ### Initialize a new deployment
55
+
56
+ ```bash
57
+ # Create a default configuration
58
+ arkitekt-server init default
59
+
60
+ # Create a development configuration with GitHub mounting
61
+ arkitekt-server init dev
62
+
63
+ # Create a minimal configuration
64
+ arkitekt-server init minimal
65
+ ```
66
+
67
+ ### Configure services
68
+
69
+ ```bash
70
+ # Enable/disable specific services
71
+ arkitekt-server service rekuest --enable
72
+ arkitekt-server service mikro --enable
73
+ arkitekt-server service kabinet --enable
74
+ ```
75
+
76
+ ### Manage users
77
+
78
+ ```bash
79
+ # Add a new user
80
+ arkitekt-server auth user add
81
+ ```
82
+
83
+ Allows you to add a new user with options for username, email, and password.
84
+
85
+
86
+ ### Deploy
87
+
88
+ When ready to deploy, run:
89
+
90
+ ```bash
91
+ # Generate Docker Compose files and deploy
92
+ arkitekt-server build docker
93
+ ```
94
+
95
+ This command generates the necessary Docker Compose files based on your configuration and starts the services.
96
+
97
+ ### Start the services
98
+
99
+ ```bash
100
+ docker compose up
101
+ ```
102
+
103
+ This command starts all the services defined in the generated Docker Compose files, wait for the services to be up and running, and then you can access the
104
+ deployment though the orkestrator interface.
105
+
106
+
107
+ ## Configuration
108
+
109
+ The tool generates and manages a `arkitekt_server_config.yaml` file that contains all deployment settings. This file includes:
110
+
111
+ - Service configurations and Docker images
112
+ - Database and Redis settings
113
+ - Object storage (MinIO) configuration
114
+ - Authentication keys and secrets
115
+ - User and group management
116
+ - Network and routing configuration
117
+
118
+ This file can be customized to suit your deployment needs, allowing you to specify local or remote databases, shared or dedicated storage buckets, and development or production deployment modes. This config-file is the central point for managing your Arkitekt Server deployment. And it is automatically generated based on the services you enable and the options you choose during initialization.
119
+
120
+ ## Architecture
121
+
122
+ Arkitekt Server uses a self-container-service architecture with:
123
+
124
+ - **PostgreSQL**: Primary database for all services
125
+ - **Redis**: Message queuing and caching
126
+ - **MinIO**: S3-compatible object storage
127
+ - **Caddy**: Reverse proxy and gateway
128
+ - **Docker**: Container orchestration
129
+
130
+ Each service can be configured independently with options for:
131
+ - Local or remote databases
132
+ - Shared or dedicated storage buckets
133
+ - Development or production deployment modes
134
+ - Custom authentication configurations
135
+
136
+ ## Development
137
+
138
+ For development workflows, the tool supports:
139
+
140
+ - GitHub repository mounting for live code reloading
141
+ - Debug mode with detailed logging
142
+ - Separate development configurations
143
+ - Hot-swappable service configurations
144
+
145
+
146
+
147
+ ## License
148
+
149
+ MIT License
@@ -0,0 +1,3 @@
1
+ from .main import main
2
+
3
+ __all__ = ["main"]
File without changes