GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - creyD/creyPY: My collection of Python and FastAPI shortcuts etc.

BranchesTags
Open more actions menu

Latest commit

 

History

190 Commits
190 Commits

Folders and files

NameName
Last commit message
Last commit date
.github/workflows
.github/workflows
 
 
.vscode
.vscode
 
 
creyPY
creyPY
 
 
.gitignore
.gitignore
 
 
CHANGELOG.md
CHANGELOG.md
 
 
LICENSE
LICENSE
 
 
README.md
README.md
 
 
__init__.py
__init__.py
 
 
renovate.json
renovate.json
 
 
requirements.auth0.txt
requirements.auth0.txt
 
 
requirements.build.txt
requirements.build.txt
 
 
requirements.pg.txt
requirements.pg.txt
 
 
requirements.stripe.txt
requirements.stripe.txt
 
 
requirements.txt
requirements.txt
 
 
setup.py
setup.py
 
 
test.py
test.py
 
 

Repository files navigation

creyPY

My collection of Python and FastAPI shortcuts etc.

Installation

pip install creyPY -U

Versioning

This library uses Semantic Versioning.

FastAPI

This library installes fastapi and pydantic, as well as sqlalchemy for you. It also provides a sqlalchemy base class and companion pydantic schemas. Also there are some helper functions for FastAPI in creyPY.fastapi.app like generate_unique_id to generate unique operation IDs for the OpenAPI schema to work with code generators.

Database connection

The creyPY.fastapi.db module provides a Session class that can be used as a context manager to connect to a database. It exposes the SQLALCHEMY_DATABASE_URL variable for you to use. It uses the following environment variables:

  • POSTGRES_HOST: The host of the database
  • POSTGRES_PORT: The port of the database
  • POSTGRES_USER: The user of the database
  • POSTGRES_PASSWORD: The password of the database
  • POSTGRES_DB: The database name

Currently only PostgreSQL is supported. It creates a sync session, it is planned to add async support in the future. You can use this like this:

from creyPY.fastapi.db.session import get_db

async def test_endpoint(
    db: Session = Depends(get_db),
) -> Any:
    pass

Constants

The constants module contains a few enums that I use in my projects. The best way to understand this library is to look at the code (it's not that much). However for simplicity, here is a brief overview:

  • LanguageEnum: Contains all languages according to ISO 639
  • CountryEnum: Contains all countries according to ISO 3166
  • CurrencyEnum: Contains all accepted stripe currencies (Commented out are the Zero-decimal currencies, to avoid custom implementation)
  • StripeStatus: Contains all stripe payment statuses
  • GroupMode: Contains time group modes (e.g. day, week, month, year)

Usage example

from creyPY.const import LanguageEnum

print(LanguageEnum.EN) # Output: LanguageEnum.EN
print(LanguageEnum.EN.value) # Output: English

About

My collection of Python and FastAPI shortcuts etc.

pypi.org/project/creyPY/

Topics

fastapipythonshortcuts

Resources

Readme
MIT license
Activity

Stars

1 star

Watchers

1 watching

Forks

2 forks
Report repository

Releases

Packages

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.