frankenstein

https://zenodo.org/badge/36016745.svg

https://img.shields.io/pypi/pyversions/frankenstein https://img.shields.io/pypi/v/frankenstein https://img.shields.io/github/license/thespacedoctor/frankenstein https://img.shields.io/pypi/dm/frankenstein

http://157.245.42.153:8080/buildStatus/icon?job=frankenstein%2Fmaster&subject=build%20master http://157.245.42.153:8080/buildStatus/icon?job=frankenstein%2Fdevelop&subject=build%20dev https://cdn.jsdelivr.net/gh/thespacedoctor/frankenstein@master/coverage.svg https://readthedocs.org/projects/frankenstein/badge/?version=master https://img.shields.io/github/issues/thespacedoctor/frankenstein/type:%20bug?label=bug%20issues

Project Templates Brought to Life.

Documentation for frankenstein is hosted by Read the Docs ( development version and master version). The code lives on github. Please report any issues you find here.

Features

How to cite frankenstein

If you use frankenstein in your work, please cite using the following BibTeX entry:

@software{Young_frankenstein,
    author = {Young, David R.},
    doi = {10.5281/zenodo.8037492},
    license = {GPL-3.0-only},
    title = ,
    url = {https://github.com/thespacedoctor/frankenstein}
}

Installation

The easiest way to install frankenstein is to use pip (here we show the install inside of a conda environment):

conda create -n frankenstein python=3.7 pip
conda activate frankenstein
pip install frankenstein

Or you can clone the github repo and install from a local version of the code:

git clone git@github.com:thespacedoctor/frankenstein.git
cd frankenstein
python setup.py install

To upgrade to the latest version of frankenstein use the command:

pip install frankenstein --upgrade

To check installation was successful run frankenstein -v. This should return the version number of the install.

Development

If you want to tinker with the code, then install in development mode. This means you can modify the code from your cloned repo:

git clone git@github.com:thespacedoctor/frankenstein.git
cd frankenstein
python setup.py develop

Pull requests are welcomed!

Initialisation

Before using frankenstein you need to use the init command to generate a user settings file. Running the following creates a yaml settings file in your home folder under ~/.config/frankenstein/frankenstein.yaml:

frankenstein init

The file is initially populated with frankenstein’s default settings which can be adjusted to your preference.

If at any point the user settings file becomes corrupted or you just want to start afresh, simply trash the frankenstein.yaml file and rerun frankenstein init.

Modifying the Settings

Once created, open the settings file in any text editor and make any modifications needed.

Basic Python Setup

If you plan to use frankenstein in your own scripts you will first need to parse your settings file and set up logging etc. One quick way to do this is to use the fundamentals package to give you a logger, a settings dictionary and a database connection (if connection details given in settings file):

## SOME BASIC SETUP FOR LOGGING, SETTINGS ETC
from fundamentals import tools
from os.path import expanduser
home = expanduser("~")
settingsFile  = home + "/.config/frankenstein/frankenstein.yaml"
su = tools(
    arguments={"settingsFile": settingsFile},
    docString=__doc__,
)
arguments, settings, log, dbConn = su.setup()

Todo List

Todo

  • nice!

(The original entry is located in /home/docs/checkouts/readthedocs.org/user_builds/frankenstein/checkouts/master/docs/source/_template_.md, line 1.)

Release Notes

v1.0.2 - May 10, 2022

  • FIXED doc fixes

v1.0.1 - October 5, 2020

  • FIXED import issue breaking cl tool

v1.0.0 - October 3, 2020

  • Now compatible with Python 3.*

API Reference

Modules

frankenstein.commonutils

common tools used throughout package

frankenstein.utKit

Unit testing tools

Classes

frankenstein.electric

The worker class for the electric module

A-Z Index

Modules

frankenstein.commonutils

common tools used throughout package

frankenstein.utKit

Unit testing tools

Classes

frankenstein.electric

The worker class for the electric module

Functions

Release Notes

v1.0.2 - May 10, 2022

  • FIXED doc fixes

v1.0.1 - October 5, 2020

  • FIXED import issue breaking cl tool

v1.0.0 - October 3, 2020

  • Now compatible with Python 3.*