Skip to main content

This tools run scripts and display the result in a Web Interface.

Project description

WebScripts

PyPI Downloads GitHub branch checks state PyPI - Status PyPI - Python Version GitHub commit activity GitHub top language GitHub issues GitHub closed issues GitHub GitHub repo size Libraries.io SourceRank Compatibility Containers

Description

This tools run scripts and display the result in a Web Interface.

Goals

Create a safe, secure and easy way to share console scripts and scripting environnments with your team or people without IT knowledge.

Requirements

This package require:

  • python3
  • python3 Standard Library

Optional on Windows:

  • pywin32 (to centralize logs in Event Viewer)

Installation

pip install WebScripts --install-option "--admin-password=<your password>"

Basic Usages

Command line

WebScripts
python3 -m WebScripts

WebScripts --help
WebScripts -h # Print help message and command line options

WebScripts --interface "192.168.1.2" --port 80
WebScripts -i "192.168.1.2" -p 80 # Change interface and port

# /!\ do not use the --debug option on the production environment
WebScripts --debug
WebScripts -d # Print informations about server configuration in errors pages (404 and 500)

# /!\ do not use the --security option on the production environment
WebScripts --security
WebScripts -s # Do not use HTTP security headers (for debugging)

WebScripts --accept-unauthenticated-user --accept-unknow-user
# Accept unauthenticated user

Python script

import WebScripts
WebScripts.main()
from WebScripts import Configuration, Server, main
from wsgiref import simple_server

config = Configuration()
config.add_conf(
    interface="", 
    port=8000, 
    scripts_path = [
        "./scripts/account",
        "./scripts/passwords"
    ],
    json_scripts_config = [
        "./config/scripts/*.json"
    ],
    ini_scripts_config = [
        "./config/scripts/*.ini"
    ],
    documentations_path = [
        "./doc/*.html"
    ],
    js_path = [
        "./static/js/*.js"
    ],
    statics_path = [
        "./static/html/*.html",
        "./static/css/*.css",
        "./static/images/*.jpg",
        "./static/pdf/*.pdf"
    ],
)
config.set_defaults()
config.check_required()
config.get_unexpecteds()
config.build_types()

server = Server(config)
httpd = simple_server.make_server(server.interface, server.port, server.app)
httpd.serve_forever()

Compatibility

Python3.8

git clone https://github.com/mauricelambert/WebScripts.git
cd WebScripts
python3.8 WebScripts/scripts/to_3.8/to_3.8.py
python3.8 setup38.py install
python3.8 -m WebScripts38
# Launch this commands line:
#   - git clone https://github.com/mauricelambert/WebScripts.git
#   - cd WebScripts
#   - python3.8 WebScripts/scripts/to_3.8/to_3.8.py
#   - python3.8 setup38.py install
# And use the package:

import WebScripts38
WebScripts38.main()

Documentation

PyDoc

Links

Pictures

Index page (dark) Index page (dark) Text script (dark) Text script (dark) HTML script (light) HTML script (light)

License

Licensed under the GPL, version 3.

Project details


Release history Release notifications | RSS feed

This version

2.1.5

Download files

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

Source Distribution

WebScripts-2.1.5.tar.gz (243.6 kB view details)

Uploaded Source

File details

Details for the file WebScripts-2.1.5.tar.gz.

File metadata

  • Download URL: WebScripts-2.1.5.tar.gz
  • Upload date:
  • Size: 243.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/52.0.0 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.9.7

File hashes

Hashes for WebScripts-2.1.5.tar.gz
Algorithm Hash digest
SHA256 d010fc70747a6e3a95d91f0ae4ba3a314ba5a1510efa622d6f60e666f3fce1cd
MD5 49a070c4efbe16ddd7fc66356c48a4fc
BLAKE2b-256 e7e611b1b61ab298f931190db73aaaee492b8e296253a9c8ccbeffb954ea9f73

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