cela


Namecela JSON
Version 0.0.2a0 PyPI version JSON
download
home_pageNone
SummaryA command client for CELA.
upload_time2024-06-21 03:36:04
maintainerNone
docs_urlNone
authorcelaraze
requires_pythonNone
licenseMIT
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"
}
        
Elapsed time: 0.26706s