crashkit


Namecrashkit JSON
Version 0.0.1 PyPI version JSON
download
home_page
SummaryInstrumentation hardware orchestration platform.
upload_time2024-01-27 15:35:52
maintainer
docs_urlNone
author
requires_python>=3.11
licenseBSD 3-Clause License Copyright (c) 2024, Michael Czigler Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
keywords instrumentation scpi
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # CrashKit

An instrumentation hardware orchestration platform.

## Background

Crashkit was founded on the idea of creating rapidly
deployable production troubleshooting and test equipment
carts, fondly referred to as "Crash Carts".  In order to
simplify the equipment configuration and setup process, a
SCPI command orchestration backend was needed. 

## Install

### PyPI

Install and update using pip:

```shell
pip install -U crashkit
```

### Repository

When using git, clone the repository and change your 
present working directory.

```shell
git clone http://github.com/mcpcpc/crashkit
cd crashkit/
```

Create and activate a virtual environment.

```shell
python -m venv venv
source venv/bin/activate
```

Install CrashKit to the virtual environment.

```shell
pip install -e .
```

## Commands

### db-init

The backend database can be initialized or re-initialized 
with the following command.

```shell
quart --app crashkit init-db
```

## Deployment

Before deployment, overriding the default `SECRET_KEY`
variable is *strongly* encourage. This can be done by
creating a `conf.py` file and placing it in the
same root as the instance (i.e. typically where the
backend database resides).

```python
SECRET_KEY = “192b9bdd22ab9ed4d12e236c78afcb9a393ec15f71bbf5dc987d54727823bcbf“
```

There are a number of ways to generate a secret key
value. The simplest would be to use the built-in secrets
Python library.

```shell
$ python -c ‘import secrets; print(secrets.token_hex())’
‘192b9bdd22ab9ed4d12e236c78afcb9a393ec15f71bbf5dc987d54727823bcbf’
```

### Quart

Non-production ASGI via quart for development and
debugging.

```shell
quart --app crashkit run --debug
```

### Uvicorn

Production ASGI via uvicorn.

```shell
pip install waitress
waitress-serve --factory crashkit:create_app
```

## Test

```shell
python3 -m unittest
```

Run with coverage report.

```shell
coverage run -m unittest
coverage report
coverage html  # open htmlcov/index.html in a browser
```

            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "crashkit",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.11",
    "maintainer_email": "",
    "keywords": "instrumentation,scpi",
    "author": "",
    "author_email": "",
    "download_url": "https://files.pythonhosted.org/packages/9c/79/0c0572a7f238098389bbf1f3ff63ecf8c1059ad51517b78fba560e4d656e/crashkit-0.0.1.tar.gz",
    "platform": null,
    "description": "# CrashKit\n\nAn instrumentation hardware orchestration platform.\n\n## Background\n\nCrashkit was founded on the idea of creating rapidly\ndeployable production troubleshooting and test equipment\ncarts, fondly referred to as \"Crash Carts\".  In order to\nsimplify the equipment configuration and setup process, a\nSCPI command orchestration backend was needed. \n\n## Install\n\n### PyPI\n\nInstall and update using pip:\n\n```shell\npip install -U crashkit\n```\n\n### Repository\n\nWhen using git, clone the repository and change your \npresent working directory.\n\n```shell\ngit clone http://github.com/mcpcpc/crashkit\ncd crashkit/\n```\n\nCreate and activate a virtual environment.\n\n```shell\npython -m venv venv\nsource venv/bin/activate\n```\n\nInstall CrashKit to the virtual environment.\n\n```shell\npip install -e .\n```\n\n## Commands\n\n### db-init\n\nThe backend database can be initialized or re-initialized \nwith the following command.\n\n```shell\nquart --app crashkit init-db\n```\n\n## Deployment\n\nBefore deployment, overriding the default `SECRET_KEY`\nvariable is *strongly* encourage. This can be done by\ncreating a `conf.py` file and placing it in the\nsame root as the instance (i.e. typically where the\nbackend database resides).\n\n```python\nSECRET_KEY = \u201c192b9bdd22ab9ed4d12e236c78afcb9a393ec15f71bbf5dc987d54727823bcbf\u201c\n```\n\nThere are a number of ways to generate a secret key\nvalue. The simplest would be to use the built-in secrets\nPython library.\n\n```shell\n$ python -c \u2018import secrets; print(secrets.token_hex())\u2019\n\u2018192b9bdd22ab9ed4d12e236c78afcb9a393ec15f71bbf5dc987d54727823bcbf\u2019\n```\n\n### Quart\n\nNon-production ASGI via quart for development and\ndebugging.\n\n```shell\nquart --app crashkit run --debug\n```\n\n### Uvicorn\n\nProduction ASGI via uvicorn.\n\n```shell\npip install waitress\nwaitress-serve --factory crashkit:create_app\n```\n\n## Test\n\n```shell\npython3 -m unittest\n```\n\nRun with coverage report.\n\n```shell\ncoverage run -m unittest\ncoverage report\ncoverage html  # open htmlcov/index.html in a browser\n```\n",
    "bugtrack_url": null,
    "license": "BSD 3-Clause License  Copyright (c) 2024, Michael Czigler  Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:  1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.  2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.  3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ",
    "summary": "Instrumentation hardware orchestration platform.",
    "version": "0.0.1",
    "project_urls": {
        "homepage": "https://github.com/mcpcpc/crashkit",
        "repository": "https://github.com/mcpcpc/crashkit"
    },
    "split_keywords": [
        "instrumentation",
        "scpi"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "8d715ac1563522f10bd358bf4418297231702cbcbcda55b1287aa903012cac66",
                "md5": "b3a3392016199c080b4d4983481e8d3b",
                "sha256": "dc21bb8310ef238b2423dfc1bfccf80b4de93dc647d7e52ffb9a6262027476dd"
            },
            "downloads": -1,
            "filename": "crashkit-0.0.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "b3a3392016199c080b4d4983481e8d3b",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.11",
            "size": 3101819,
            "upload_time": "2024-01-27T15:35:49",
            "upload_time_iso_8601": "2024-01-27T15:35:49.658626Z",
            "url": "https://files.pythonhosted.org/packages/8d/71/5ac1563522f10bd358bf4418297231702cbcbcda55b1287aa903012cac66/crashkit-0.0.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "9c790c0572a7f238098389bbf1f3ff63ecf8c1059ad51517b78fba560e4d656e",
                "md5": "8ada0e5a6b5b4950ecf3b522b40e9bd6",
                "sha256": "1b357edec26c61a2fac26ae4eb8bd4d5bc315d071c18b238f9d037d986e8aa88"
            },
            "downloads": -1,
            "filename": "crashkit-0.0.1.tar.gz",
            "has_sig": false,
            "md5_digest": "8ada0e5a6b5b4950ecf3b522b40e9bd6",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.11",
            "size": 3097713,
            "upload_time": "2024-01-27T15:35:52",
            "upload_time_iso_8601": "2024-01-27T15:35:52.331331Z",
            "url": "https://files.pythonhosted.org/packages/9c/79/0c0572a7f238098389bbf1f3ff63ecf8c1059ad51517b78fba560e4d656e/crashkit-0.0.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-01-27 15:35:52",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "mcpcpc",
    "github_project": "crashkit",
    "github_not_found": true,
    "lcname": "crashkit"
}
        
Elapsed time: 0.34671s