Utility for automated Git cloning and app launching (React/FastAPI)
Project description
autovix Deployment Module Documentation
Overview
The autovix module is designed to automate the cloning, setup, and execution
of multiple repositories for both backend (API) and frontend (UI) applications.
This configuration-driven automation supports:
- GitHub cloning using username and personal access token.
- Installing dependencies.
- Running projects with a custom command or development server.
Configuration Parameters (json_data)
-
env_name (string)
- Name of the environment or project group.
- Example: "autovix"
-
git_data (object)
- GitHub credentials to access repositories.
- Keys:
- username: GitHub username
- token: GitHub personal access token
- org_or_user: GitHub organization or user name
-
base_path (string)
- Path where repositories will be cloned.
- Example: "C:/deploy"
-
repositories (list of objects)
- Each object contains deployment details for a repository.
- Fields:
- repo_name (string): Repository name
- branch (string): Branch to clone
- folder_name (string): Local folder name
- is_ui (bool): True if UI app, False if backend
- port (int): Port to run app
- run_command (string): Required if is_ui is False
Example Repository Configuration
Backend App (is_ui = False): { "repo_name": "Aps", "branch": "main", "folder_name": "Aps", "is_ui": false, "port": 8000, "run_command": "uvicorn main.main:app --port 8005" }
Frontend App (is_ui = True): { "repo_name": "To-Do-List", "branch": "main", "folder_name": "To-Do-List", "is_ui": true, "port": 3001 }
Deployment Logic
-
If
is_uiis True:- Run
npm installin the project directory. - Start the frontend using default scripts.
- Run
-
If
is_uiis False:run_commandis mandatory.- Execute backend app using the specified command.
Validation
if not is_ui and not run_command: print("Error: 'run_command' is required when 'is_ui' is False.") return
Directory Structure After Deployment
C:/deploy/ ├── Aps/ │ └── ... (code and virtual env) └── To-Do-List/ └── node_modules/
Security Note
- Replace "ghp_xxxxxx" with a valid GitHub Personal Access Token.
- Never expose the token publicly.
autovix Configuration JSON - Documentation
This JSON configuration is used to control how repositories are cloned, set up, and run by the autovix automation system.
Top-Level Structure:
{ "env_name": "string", # Name of the environment/project group "git_data": { # GitHub authentication and organization info "username": "string", # GitHub username "token": "string", # GitHub Personal Access Token (PAT) "org_or_user": "string" # GitHub organization or user }, "base_path": "string", # Base directory where all repos will be cloned "repositories": [ # List of repositories to deploy { "repo_name": "string", # Name of the GitHub repository "branch": "string", # Branch to clone "folder_name": "string", # Folder to clone into "is_ui": true/false, # True for frontend, False for backend "port": number, # Port to run the app "run_command": "string" # (Optional) Command to run the backend (required if is_ui is false) } ] }
Example:
{ "env_name": "autovix", "git_data": { "username": "autovix_user", "token": "ghp_xxxxxx", "org_or_user": "autovix_user" }, "base_path": "C:/deploy", "repositories": [ { "repo_name": "autovix", "branch": "main", "folder_name": "autovix", "is_ui": false, "port": 8000, "run_command": "uvicorn main.main:app --port 8005" }, { "repo_name": "To-Do-List", "branch": "main", "folder_name": "To-Do-List", "is_ui": true, "port": 3001 } ] }
Notes:
- If
is_uiis false,run_commandmust be provided. - If
is_uiis true, the system will automatically runnpm installand use the default frontend server. - All cloned projects are stored in the directory specified by
base_path. """
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file autovix-0.1.3.tar.gz.
File metadata
- Download URL: autovix-0.1.3.tar.gz
- Upload date:
- Size: 5.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a09a230ff600758912962d7cc28feb8c298fb93953bc10267034aaf06e1ac2fb
|
|
| MD5 |
1857f223966d945b3fbb8074a3152aed
|
|
| BLAKE2b-256 |
78939927044a5eecaa96706291a1857fa1547d2f6f37d9c1d2fe249593971c76
|
File details
Details for the file autovix-0.1.3-py3-none-any.whl.
File metadata
- Download URL: autovix-0.1.3-py3-none-any.whl
- Upload date:
- Size: 5.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
243ddb9152ef9ae4144fb06e3bba39bac5f95a0ff11435b869bdaa38ff7e2b33
|
|
| MD5 |
6cd4b9da9733006efea230a34d0faf4a
|
|
| BLAKE2b-256 |
c5b1479fbb5770605d27f1424599ac50534696f58f8ef01528d5d08f5c17cbbe
|