Skip to main content

Inspira is a lightweight framework for building asynchronous web applications.

Project description

Inspira

License

Inspira is a lightweight framework for building asynchronous web applications.

Quick Start

Prerequisites

Make sure you have Python and pip installed on your system.

Create a Python Virtual Environment

# Create a new directory for your project
$ mkdir myproject
$ cd myproject

Create and activate a virtual environment

$ python -m venv venv
$ source venv/bin/activate

Install Inspira

$ pip install inspira

Generating an App

To generate a new app for your project, run the following command:

$ inspira init

Generated Directory Structure

After running the init command, the directory structure of your project should look like the following:

├── main.py
├── src
│   ├── __init__.py
│   ├── controller
│      └── __init__.py
│   ├── model
│      └── __init__.py
│   ├── repository
│      └── __init__.py
│   └── service
│       └── __init__.py
└── tests
    └── __init__.py

Generate Database file

Use the following command to generate a database file:

$ inspira new database --name mydb --type sqlite

This command will create a new database file named mydb with SQLite as the database type.

The generated database file (database.py) will typically contain initial configurations and may look like this:

from sqlalchemy import create_engine
from sqlalchemy.orm import declarative_base, scoped_session, sessionmaker

engine = create_engine("sqlite:///mydb.db")
db_session = scoped_session(
    sessionmaker(autocommit=False, autoflush=False, bind=engine)
)
Base = declarative_base()
Base.query = db_session.query_property()

Generating Controller

To generate necessary controller for your project, run the following command:

$ inspira new controller orders

Generating Repository

To generate repository file, run the following command:

$ inspira new repository orders

Generating Service

To generate service file, run the following command:

$ inspira new service orders

Generating Model

To generate model file, run the following command:

$ inspira new model order

Starting the Server

After generating your app and setting up the necessary resources, start the server with the following command:

$ uvicorn main:app --reload

Links

Documentation: https://www.inspiraframework.com/

License

This project is licensed under the terms of the MIT license.

Download files

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

Source Distribution

inspira-0.16.0.tar.gz (22.2 kB view details)

Uploaded Source

Built Distribution

inspira-0.16.0-py3-none-any.whl (37.0 kB view details)

Uploaded Python 3

File details

Details for the file inspira-0.16.0.tar.gz.

File metadata

  • Download URL: inspira-0.16.0.tar.gz
  • Upload date:
  • Size: 22.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.18

File hashes

Hashes for inspira-0.16.0.tar.gz
Algorithm Hash digest
SHA256 f7c8460104601b58e56f61128a8e90c22055fa5cf91c7403740799bbfe5b1ed1
MD5 e6227dbc586a2d5fb450258f21d14b1d
BLAKE2b-256 1195f17e25e37dd295a681928187894e7c0d7abba1977b947eea0e95ca90f3a7

See more details on using hashes here.

File details

Details for the file inspira-0.16.0-py3-none-any.whl.

File metadata

  • Download URL: inspira-0.16.0-py3-none-any.whl
  • Upload date:
  • Size: 37.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.18

File hashes

Hashes for inspira-0.16.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3fecfa7305b9b5a8c13b2f7ee6e4637fb9f769a66fe7f3b82243139a754ecaad
MD5 ec9dac8d67283bea8c4635445035ae60
BLAKE2b-256 09de76e52d7b9caac3d5ece7ef704796a778c8000abb5a2747dcaaa871db3390

See more details on using hashes here.

Supported by

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