Skip to main content

app-lib-py

This template is a suggestion of good practice for a scientific python library that includes continuous integration and conntinuous development and continuous documentation. The application is demonstrated though streamlist which is deployed with continuous deployment, and also made a available via pypi as a python library with pip install

The single github repo contains 2 seperate software artefacts, a python library that can be installed and used by others, and a streamlit web application that demonstreates the library and provides a simple usage. Additionally there is a docker file which allows the upload of a docker image to dockerhub for a middle use of locally hosted web application.

To use this library yourself, use the "Template" button as described below.

1. Create a template for yourself

2. Change the name (search on app-lib-py or app_lib_py)

  • in the yml files in pydoctor line 24
  • docker yml line 26
  • pypi yml line 43

2. Setup development environments

See dev environments

3. Setup precommit hooks

https://pre-commit.com/ Run it to check pre-commit run --all-files ruff --target-version=py311 --line-length 88 . --fix black ./ --check --line-length 88 --diff

4. Change the tokens, get all workflows in github actions working

pydoctor --make-html --html-output=./docs/api lib/src/app_lib_py --theme readthedocs

5. Test driven development, design the functionality

6. Implement

7. Distribute and deploy

7a. Pypi

Tokens are needed from pypi and from github. Follow these instructions: pypi gha

To release to pypi you need to either:

  • Create a release in github, the tag will be the version number of the library
  • Or if it is only a minor incremebt, you can run the workflow in Actions Create a new patch release. This will increment the minor version and release.

7b. Streamlit

Streamlit will be automatically deployed when the main branch is updated after the link with streamlit is made.

  1. Create an account with streamlit io
  2. Go to the deploy
  3. Choose your repo: RachelAlcraft/app-lib-py
  4. Choose Branch: Main
  5. Choose entry file: app/home.py
  6. Amend the domain to your liking app-lib-py
  7. Press deploy

7c. Docker

Metadata

Release files for app-lib-py 0.0.14

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for app-lib-py 0.0.14
File Size Uploaded Provenance Actions
app_lib_py-0.0.14.tar.gz 33.9 kB Without provenance Details for app_lib_py-0.0.14.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for app-lib-py 0.0.14
File Interpreter ABI Platform Actions
app_lib_py-0.0.14-py3-none-any.whl Python 3 none any Details for app_lib_py-0.0.14-py3-none-any.whl

Total release size: 49.7 kB

Release files / app_lib_py-0.0.14.tar.gz

Download URL app_lib_py-0.0.14.tar.gz
Size 33.9 kB
Tags Source
SHA-256 checksum
How to use checksums
c4062176ccadf960d99f418ac30ae4f66b5dbfd2d9d6450a801bb8f93fd807f1
BLAKE2b-256 checksum
How to use checksums
0c7e2a3052c8da6b9badfcd700d0e6739a392fe37d07e7be300581241ed5ce49
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.12.2

Release files / app_lib_py-0.0.14-py3-none-any.whl

Download URL app_lib_py-0.0.14-py3-none-any.whl
Size 15.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a44a13b0a4f0dbb7c26a1214958a41514be38df0f1b7140c43e670ac66abc16b
BLAKE2b-256 checksum
How to use checksums
b2025c5e06428425282ae77aa93f51ab273d466bea5fc3ea3536149a53bb5bc0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.12.2

Security for app-lib-py 0.0.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page