A Character creation app that will allow you to mess around with the different things and work with the within the rules of the Esper Genesis Role Playing Game based on the Core Manual
Project description
Esper Genesis Character Creator
Small application to be able to build your own character to play the game Esper Genesis Role Playing Game
Table of Contents
Useful Links
Links to result of code coverage and pytest of latest builds.
Installation
pip install esper-character-gen
We require at least python 3.10 to be able to run properly.
Usage
To launch the app you will just need to run the package directly.
> esper-character-gen --port 8080
INFO: Started server process [16240]
INFO: Waiting for application startup.
INFO: Application startup complete.
INFO: Uvicorn running on http://localhost:5000 (Press CTRL+C to quit)
CLI Support the following params
--host/-hhostname you want to server your api from. defaults to"localhost"--port/-pport you want to listen on. defaults to5000--worker-count/-wamount of worker tasks to run concurrently. defaults to1
> esper-character-gen -p 5000 -h 0.0.0.0 -w 10
Configurations
Cross Origin Resource Sharing (CORS)
| Environment Variables | Description |
|---|---|
CORS_ORIGINS |
Comma separated list of origins to allow. Default: ["*"] |
CORS_ALLOW_CREDENTIALS |
Whether or not to allow credentials. Default: True |
CORS_METHODS |
Comma separated list of methods to allow. Default: ["*"] |
CORS_HEADERS |
Comma separated list of headers to allow. Default: ["*"] |
Logging
| Environment Variables | Description |
|---|---|
LOG_LEVEL |
The log level to use. Default: "DEBUG" |
Running locally
To run the service locally you simply need to run the module directly with python like:
> python -m espie_character_gen
To run the unit tests locally you can use the unit-test make target like:
> make unit-test
To run the integration tests locally you can use the int-test make target but please run ensure-resources before which will require docker to have been installed and or install and run mongo using the default port with no username or password.
# If not running mongo already please use the docker config we provided in the compose file
> make ensure-resources
# actually running the tests
> make int-test
The same also applies for all-test since this will run both the integration tests as well as unit tests.
Use the all-test make target.
# If not running mongo locally already run this
> make ensure-resources
# actually running the tests
> make all-test
Running tests that relate to databases which currently is only mongo will be run with db-test make target. This is useful when you mark your tests properly with the pytest.mark.mongo so that you can disitinguish a test that uses mongo components with it.
# If not running mongo locally already run this
> make ensure-resources
# actually running tests
> make db-test
All these test configs are configured to also output coverage results to help you see how many lines you are covering with three reports: terminal, xml, html
To view the xml you can configure most any tool in vscode to read the file but I use coverage gutters to be able to display it visually when I am inspecting the src files.
To view the html, you can run the render-cov make target to spin up a simple http server built into python to inspect and view the htmlcov folder html and render it properly in your browser at 8081. This is super useful when you want to really investigate and key into areas that are not covered.
To view the terminal output, you will just be shown it immediately after you run the make commands in the terminal so you can enjoy it!!
Contribution
For details of conduct and expactations please refer to CONTRIBUTION.md
Pull requests will be pending review of at least one maintainer.
Pull requests are required to have finished the template checklist before they will be reviewed by a maintainer.
All code is formatted with the black formatter and we expect types and may run mypy to check that your code is properly typed as expected.
Names should make sense and be self descriptive of the proposed changes.
Project details
Release history Release notifications | RSS feed
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 espie_character_gen-0.1.0.tar.gz.
File metadata
- Download URL: espie_character_gen-0.1.0.tar.gz
- Upload date:
- Size: 11.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.21
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bb738071d0aaeb891c9c0d81d314185cb3bfb937a03ab18fc109a87cf0f8de97
|
|
| MD5 |
f81229b2914b159369b17d6e65da173b
|
|
| BLAKE2b-256 |
8688801fe36fdc687bc6fa0329371b62bf9bc963c9827313420a2f5ccb1aaa94
|
File details
Details for the file espie_character_gen-0.1.0-py3-none-any.whl.
File metadata
- Download URL: espie_character_gen-0.1.0-py3-none-any.whl
- Upload date:
- Size: 12.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.21
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c69a2c9cadf1173e81dd8f3b5704c788c31d37afde2061647ed646fdb740b564
|
|
| MD5 |
9d147d16ce12154924a188e57d2d1354
|
|
| BLAKE2b-256 |
ea35fef1c2a608f9b8de07f0961f7ca6e853616e5776a55ff596002db7e8408b
|