Skip to main content

Oldschool Web Development for Humans™

Project description

index.py

Although I've never used PHP, I like its hot-swap mechanism. I expect to use index.py to make Python's Web program deployment easier.

Install

pip install -U index.py

Or get the latest version on Github

git clone https://github.com/abersheeran/index.py
sudo python3 setup.py install

How to use

Make a folder that name is views and create index.py in it.

Write the following in index.py

from index.view import View


class HTTP(View):

    def get(self):
        return "hello world"

Execute the command index-cli dev in the same directory as views.

deploy

In linux, you can use index-cli gunicorn start to start server.

  • -w INT: The number of worker processes for handling requests. This value is best when it is equal to the number of cores of the CPU.

  • -d: Increasing this parameter will cause the program to run in the background and redirect the log to the log.index in the current directory.

In windows......maybe you can use index-cli dev to deploy.

Configuration

The configuration allows the configuration to be automatically separated by ENV, and lowercase letters in all keys are automatically converted to uppercase.

You can use Config() anywhere in the program to use the configuration, which is a class that uses the singleton pattern. Like this

from index import Config

print(Config())

Environment variables

At startup, index automatically reads the configuration from the environment variable that begins with INDEX_.

like this

INDEX_DEBUG=on
INDEX_ENV=pro

Config file

At the root of your web program, the configuration in config.json will be read when index starts.

example:

{
  "dev": {
    "debug": true,
  },
  "pro": {
    "debug": false,
    "port": 34567,
    "host": "0.0.0.0"
  }
}

List

  • ENV

    Default: "dev"

    env is an important configuration that allows for the distinction between different configuration environments.

  • DEBUG

    Default: False

    I don't think this needs explanation.

    In the environment variable, INDEX_DEBUG is true when it is on or True, otherwise it is false.

  • LOG_LEVEL

    Default: "info"

    log_level has five values, the corresponding table to the logging is as follows

    log_level loggins
    "critical" logging.CRITICAL
    "error" logging.ERROR
    "warning" logging.WARNING
    "info" logging.INFO
    "debug" logging.DEBUG
  • HOST

    Default: "127.0.0.1"

    host specifies the bound HOST address.

  • PORT

    Default: 4190

    port pecifies the bound HOST port.

  • ALLOWED_HOSTS

    Default: ["*"]

    allowed_hosts allows you to restrict access to this application's host.

    Some examples:

    • ["*"]

    • ["example.com", "*example.com"]

    • ["example.com", "test.com"]

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

index.py-0.2.1.tar.gz (12.9 kB view hashes)

Uploaded Source

Built Distribution

index.py-0.2.1-py2.py3-none-any.whl (14.1 kB view hashes)

Uploaded Python 2 Python 3

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