Name | cela JSON |
Version |
0.0.2a0
JSON |
| download |
home_page | None |
Summary | A command client for CELA. |
upload_time | 2024-06-21 03:36:04 |
maintainer | None |
docs_url | None |
author | celaraze |
requires_python | None |
license | MIT |
keywords |
cela
asset
management
client
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
> [!IMPORTANT]
>
> This project is still working in progress. Please go to [CAT](https://github.com/celaraze/cat)
> or [CHEMEX](https://github.com/celaraze/chemex) for using in production.
# Cela
English | [简体中文](README/README.zh_CN.md)
Cela is an asset management system with front-end and back-end separation, and provides a command-line client. Users can
use the command-line client to manage assets, or use their own built front-end program.
Cela has the following features:
- User authentication using `bearer` token.
- Permission control using scopes and RBAC.
- Efficient deployment mode, deployed in a containerized way.
- Convenient secondary development, users only need to focus on the implementation of business logic.
- Complete test cases.
- Inherited from the design pattern of chemex and cat.
- ...
## Quick Start
Start back-end service with checking `docker-compose.yml` and run the following:
`docker-compose up -d`
And then you need to `GET` [http://localhost:8000/auth/init](http://localhost:8000/auth/init) to initialize the admin.
Now you can visit [http://localhost:8000/docs](http://localhost:8000/docs) to view the API documentation.
Or running `pip install cela` to install the command-line client, and then you can use the command-line client:
```shell
cela connect http://localhost:8000
cela login admin admin
cela device list
```
## Directory Structure
```shell
cela
├── app # The main directory of the project
│ ├── config # Configuration file directory
│ │ ├── __init__.py
│ │ └── database.py # Database configuration file
│ ├── controllers # Controller directory
│ │ ├── __init__.py
│ │ ├── auth_controller.py # Authentication controller
│ │ ├── role_controller.py # Role controller
│ │ └── user_controller.py # User controller
│ ├── database # Database directory
│ │ ├── __init__.py
│ │ ├── crud.py # CRUD operation file
│ │ ├── schemas.py # Pydantic schema file
│ │ └── tables.py # SQLAlchemy table file
│ ├── services # Service directory
│ │ ├── __init__.py
│ │ └── auth.py # Authentication service
│ ├── utils # Utility directory
│ │ ├── __init__.py
│ │ ├── config.py # Configuration file
│ │ ├── crypt.py # Cryptography tool
│ │ └── common.py # Common tool
│ ├── env.yml # Environment configuration file
│ ├── env.yml.example # Environment configuration file example
│ ├── admin.py # Command-line client
│ ├── main.py # Main file
│ └── dependencies.py # Dependency functions for controllers
├── tests # Test directory
│ ├── __init__.py
│ ├── functions.py # Test function file
│ └── test_xxx.py # Test file
├── requirements.txt # Dependency file
└── Dockerfile # Dockerfile
```
## Contributing
If you have any suggestions or find any bugs, please feel free to submit an issue or pull request.
### Code readability
Cela is not a high-performance tool, so we focus on code readability and maintainability. Please write code that is easy
to read and understand.
### Commit message rules
Please follow the commit message rules below when submitting a pull request:
- Use the English language.
- Use the imperative mood.
- Use the present tense.
- Use the lowercase.
- Do not end with a period.
For example:
```text
# we only support the following prefixes.
feat: add a new feature
fix: fix a bug
docs: update the documentation
style: change the code style
refactor: refactor the code
test: add a test case
chore: change the build process
```
## Sponsors
`Afdian.net` is a platform that provides a way for creators to get support from their fans. If you like this project,
you can support me on Afdian.net.
[https://afdian.net/a/celaraze](https://afdian.net/a/celaraze)
## Thanks
JetBrains provides excellent IDEs.
<a href="https://www.jetbrains.com/?from=cela" target="_blank">
<img src="https://www.jetbrains.com/company/brand/img/jetbrains_logo.png" width="100" alt="JetBrains" />
</a>
Raw data
{
"_id": null,
"home_page": null,
"name": "cela",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": "cela, asset, management, client",
"author": "celaraze",
"author_email": "celaraze@qq.com",
"download_url": null,
"platform": null,
"description": "> [!IMPORTANT]\n>\n> This project is still working in progress. Please go to [CAT](https://github.com/celaraze/cat)\n> or [CHEMEX](https://github.com/celaraze/chemex) for using in production.\n\n# Cela\n\nEnglish | [\u7b80\u4f53\u4e2d\u6587](README/README.zh_CN.md)\n\nCela is an asset management system with front-end and back-end separation, and provides a command-line client. Users can\nuse the command-line client to manage assets, or use their own built front-end program.\n\nCela has the following features:\n\n- User authentication using `bearer` token.\n- Permission control using scopes and RBAC.\n- Efficient deployment mode, deployed in a containerized way.\n- Convenient secondary development, users only need to focus on the implementation of business logic.\n- Complete test cases.\n- Inherited from the design pattern of chemex and cat.\n- ...\n\n## Quick Start\n\nStart back-end service with checking `docker-compose.yml` and run the following:\n\n`docker-compose up -d`\n\nAnd then you need to `GET` [http://localhost:8000/auth/init](http://localhost:8000/auth/init) to initialize the admin.\n\nNow you can visit [http://localhost:8000/docs](http://localhost:8000/docs) to view the API documentation.\n\nOr running `pip install cela` to install the command-line client, and then you can use the command-line client:\n\n```shell\ncela connect http://localhost:8000\ncela login admin admin\ncela device list\n```\n\n## Directory Structure\n\n```shell\ncela\n\u251c\u2500\u2500 app # The main directory of the project\n\u2502 \u251c\u2500\u2500 config # Configuration file directory\n\u2502 \u2502 \u251c\u2500\u2500 __init__.py \n\u2502 \u2502 \u2514\u2500\u2500 database.py # Database configuration file\n\u2502 \u251c\u2500\u2500 controllers # Controller directory\n\u2502 \u2502 \u251c\u2500\u2500 __init__.py \n\u2502 \u2502 \u251c\u2500\u2500 auth_controller.py # Authentication controller\n\u2502 \u2502 \u251c\u2500\u2500 role_controller.py # Role controller\n\u2502 \u2502 \u2514\u2500\u2500 user_controller.py # User controller\n\u2502 \u251c\u2500\u2500 database # Database directory\n\u2502 \u2502 \u251c\u2500\u2500 __init__.py \n\u2502 \u2502 \u251c\u2500\u2500 crud.py # CRUD operation file \n\u2502 \u2502 \u251c\u2500\u2500 schemas.py # Pydantic schema file\n\u2502 \u2502 \u2514\u2500\u2500 tables.py # SQLAlchemy table file\n\u2502 \u251c\u2500\u2500 services # Service directory\n\u2502 \u2502 \u251c\u2500\u2500 __init__.py \n\u2502 \u2502 \u2514\u2500\u2500 auth.py # Authentication service\n\u2502 \u251c\u2500\u2500 utils # Utility directory\n\u2502 \u2502 \u251c\u2500\u2500 __init__.py \n\u2502 \u2502 \u251c\u2500\u2500 config.py # Configuration file\n\u2502 \u2502 \u251c\u2500\u2500 crypt.py # Cryptography tool\n\u2502 \u2502 \u2514\u2500\u2500 common.py # Common tool\n\u2502 \u251c\u2500\u2500 env.yml # Environment configuration file\n\u2502 \u251c\u2500\u2500 env.yml.example # Environment configuration file example\n\u2502 \u251c\u2500\u2500 admin.py # Command-line client\n\u2502 \u251c\u2500\u2500 main.py # Main file\n\u2502 \u2514\u2500\u2500 dependencies.py # Dependency functions for controllers\n\u251c\u2500\u2500 tests # Test directory\n\u2502 \u251c\u2500\u2500 __init__.py \n\u2502 \u251c\u2500\u2500 functions.py # Test function file\n\u2502 \u2514\u2500\u2500 test_xxx.py # Test file\n\u251c\u2500\u2500 requirements.txt # Dependency file\n\u2514\u2500\u2500 Dockerfile # Dockerfile\n```\n\n## Contributing\n\nIf you have any suggestions or find any bugs, please feel free to submit an issue or pull request.\n\n### Code readability\n\nCela is not a high-performance tool, so we focus on code readability and maintainability. Please write code that is easy\nto read and understand.\n\n### Commit message rules\n\nPlease follow the commit message rules below when submitting a pull request:\n\n- Use the English language.\n- Use the imperative mood.\n- Use the present tense.\n- Use the lowercase.\n- Do not end with a period.\n\nFor example:\n\n```text\n# we only support the following prefixes.\nfeat: add a new feature\nfix: fix a bug\ndocs: update the documentation\nstyle: change the code style\nrefactor: refactor the code\ntest: add a test case\nchore: change the build process\n```\n\n## Sponsors\n\n`Afdian.net` is a platform that provides a way for creators to get support from their fans. If you like this project,\nyou can support me on Afdian.net.\n\n[https://afdian.net/a/celaraze](https://afdian.net/a/celaraze)\n\n## Thanks\n\nJetBrains provides excellent IDEs.\n\n<a href=\"https://www.jetbrains.com/?from=cela\" target=\"_blank\">\n <img src=\"https://www.jetbrains.com/company/brand/img/jetbrains_logo.png\" width=\"100\" alt=\"JetBrains\" />\n</a>\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "A command client for CELA.",
"version": "0.0.2a0",
"project_urls": null,
"split_keywords": [
"cela",
" asset",
" management",
" client"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "8aada1f28c14f901a4f2f0fcc252799bc19b19f9a7b657f3d59b14c1ef03906e",
"md5": "7f43b6dda230f24fd934a7c6d4665636",
"sha256": "dc499eabe2d5352fcf3cc32f8933ef4fdc7993df67cd568b4e51791829564d10"
},
"downloads": -1,
"filename": "cela-0.0.2a0-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "7f43b6dda230f24fd934a7c6d4665636",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 37798,
"upload_time": "2024-06-21T03:36:04",
"upload_time_iso_8601": "2024-06-21T03:36:04.971168Z",
"url": "https://files.pythonhosted.org/packages/8a/ad/a1f28c14f901a4f2f0fcc252799bc19b19f9a7b657f3d59b14c1ef03906e/cela-0.0.2a0-py2.py3-none-any.whl",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-06-21 03:36:04",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "cela"
}