Skip to main content

An API & command line interface, for common web tasks

Project description

sws-banner

Table of Contents

Super Web Scripts

A command line interface, and set of scripts for common web tasks.

Quick-start

Installation

From PyPi

run pip install sws or sudo pip3 install sws.

From source

  1. Clone the github repo (https://github.com/Descent098/sws)
  2. cd into the 'sws' root directory (where setup.py is) and run pip install . or sudo pip3 install .

Additional Documentation

API Documentation can be found at https://kieranwood.ca/sws/

User Documentation for the cli can be found at https://sws.readthedocs.io

What does sws do?

sws is both a cli, and an API with the goal of making common web development tasks simple.

Specifically the API is designed to:

  1. Be a cross-platform utility API
  2. Give sensible high-level functions for common tasks
  3. Provide useful constants such as a list of dns record types
  4. Provide a set of utility classes for common tasks (such as downloads)

The CLI is designed to:

  1. Provide a cross-platform set of tools
  2. Provide a toolbox for ease of use tasks so you don't need to know dozens of commands
  3. Make doing simple tasks simpler

Features & Roadmap

Domain names

Get information about domain names including:

  • Who is the registrar
  • When the domain expires

Redirects

Get information about the trace of http redirects

SSL

Get deails about the ssl cert of a hostname such as:

  • When the cert will expire
  • The issuer of the cert
  • A full dict of the details of the cert

YouTube

Allows for the download of videos as well as geting metadata

dns

Prints a table of the DNS records for a given domain

Roadmap

A full roadmap for each project version can be found here: https://github.com/Descent098/sws/projects

Why should I use sws?

The best marketing pitch that I can give you is that it's easy to use, free, and open source. The project really is here so that people don't have to keep writing the same implementations of basic tasks, and can instead use a tested package that contains a ton of functionality. Additionally if you don't want to use all of sws's features, because it is MIT liscenced you can feel free to vendor functions within your own project.

Who is sws for?

Really it can be used by anyone, but here are the most typial use cases:

  • Web developers; tools provided in sws can help with debugging and validating web servers
  • Devops Specialists & testers; can use sws api to automate validation that servers are running how they should be
  • People learning webdev; Sometimes getting access to tooling while learning webdev can be difficult, this can be a one-stop shop for lots of functionality
  • Scripters; people who are looking to use sws functionality in their own projects

Development-Contribution guide

See Contribution guide for details about helping with development.

Changelog

V0.2.2; September 2nd 2021

More bug fixes

Bug fixes:

  • Fixed a bug where installing whois would fail out midway through
  • Added additional error catching on whois binary installation
  • Fixed boolean type conversion bug on get_domain_info()

V0.2.1; September 1st 2021

Fixing bugs found after release

Bug fixes:

  • Fixed error on sws.youtube._request_path() where it would fail if no tkinter display variable is set
  • Fixed bug with retrieval of domain records where an unbound variable would exist if the request hung
  • Fixed issue where no usage would print when using DNS command without any args
  • Fixed issue where no usage would print when using SSL command without any args
  • Fixed issue with DNS lookups where on slow connections it would hang waiting for records to load

Documentation Improvements:

  • Fixed some spelling errors and text duplication
  • Improved some of the readme and Usage docs explanations

V0.2.0; September 1st 2021

Focus for this release was to revamp the package and add a ton of functionality.

Features:

  • Simplified and streamlined redirect.trace()
  • Added Bash autocomplete for ease of use on *nix systems
  • Added domains module and command
  • Added dns module and command
  • Added ```downloads`` module to make handling downlaods simpler
  • Added __main__.py file for direct cli invocation (python -m sws)
  • Added logging to existing functions, and all new functions

Documentation Improvements:

  • Added additional source, docs, and roadmap links to setup.py for PyPi
  • Added github templates (for issues and PR's), and testing pipeline
  • Added testing suite for majority of library functions
  • Moved usage docs to readthedocs https://sws.readthedocs.io
  • Added API docs to https://kieranwood.ca/sws

V0.1.0; February 4th 2020

Initial release went out on github and PyPi. Ported functionality from kuws package.

Features:

  • Trace redirects
  • Download YouTube videos directly from command line
  • Check SSL status information and expiry date

Project details


Download files

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

Source Distribution

sws-0.2.2.tar.gz (21.9 kB view details)

Uploaded Source

Built Distribution

sws-0.2.2-py3-none-any.whl (22.9 kB view details)

Uploaded Python 3

File details

Details for the file sws-0.2.2.tar.gz.

File metadata

  • Download URL: sws-0.2.2.tar.gz
  • Upload date:
  • Size: 21.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.9.7

File hashes

Hashes for sws-0.2.2.tar.gz
Algorithm Hash digest
SHA256 d97c29a48d512b0bbb70a52268b999704b9598fd8e6a8f77ec028c77b0bdb941
MD5 0123381ca6163dc128ae15098849680c
BLAKE2b-256 43b102c0394d2b43fdaaa26ed60d135a8b80cd5b844f239824bdf6851f6edee2

See more details on using hashes here.

File details

Details for the file sws-0.2.2-py3-none-any.whl.

File metadata

  • Download URL: sws-0.2.2-py3-none-any.whl
  • Upload date:
  • Size: 22.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.9.7

File hashes

Hashes for sws-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 f2f39f590c6cd48fd48156ab9e71de9ffece4980506b586fc067c4d4c7402dd2
MD5 6450ce73f447d6fb11429a7d2c93587a
BLAKE2b-256 114702804681db0dbf36f02f43c07cedcd299b858f4df376f897f0ae4f58efc8

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