Skip to main content

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

Test and Deploy Docs

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/-h hostname you want to server your api from. defaults to "localhost"
  • --port/-p port you want to listen on. defaults to 5000
  • --worker-count/-w amount of worker tasks to run concurrently. defaults to 1
    > 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

espie_character_gen-0.1.0.tar.gz (11.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

espie_character_gen-0.1.0-py3-none-any.whl (12.0 kB view details)

Uploaded Python 3

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

Hashes for espie_character_gen-0.1.0.tar.gz
Algorithm Hash digest
SHA256 bb738071d0aaeb891c9c0d81d314185cb3bfb937a03ab18fc109a87cf0f8de97
MD5 f81229b2914b159369b17d6e65da173b
BLAKE2b-256 8688801fe36fdc687bc6fa0329371b62bf9bc963c9827313420a2f5ccb1aaa94

See more details on using hashes here.

File details

Details for the file espie_character_gen-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for espie_character_gen-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c69a2c9cadf1173e81dd8f3b5704c788c31d37afde2061647ed646fdb740b564
MD5 9d147d16ce12154924a188e57d2d1354
BLAKE2b-256 ea35fef1c2a608f9b8de07f0961f7ca6e853616e5776a55ff596002db7e8408b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page