-
Notifications
You must be signed in to change notification settings - Fork 3
Notes
Kirill Pavlov edited this page Jul 4, 2020
·
4 revisions
There are two ways to install tabtools: via python module or via copy-pasting built scripts.
Some scripts are written in python and some are written in bash, make sure
- CircleCI has both available as build artifacts
- Copy bash scripts from "bin/" to "dist/", there is no build process.
- "Build" python scripts: concatenate python source files using build shell script (python or bash are not available on alpine container used for the build).
- Make sure python package has both python scripts (source code is not "concatenated") and shell scripts (include via scripts and entry_points)
- Python project packaging (use setuptools)
- Scripts and entry points: https://python-packaging.readthedocs.io/en/latest/command-line-scripts.html
Test python scripts in development:
- The final version should be available via
pip install tabtools
(python3 -m pip install --user tabtools) - Install package locally to your .env:
pip install -e .
(Development mode) - Package project:
python setup.py sdist bdist_wheel
(see: Packaging)
AWK:
- String multiplication in awk: https://stackoverflow.com/questions/37295695/how-to-use-printf-to-print-a-character-multiple-times#answer-37297195
- AWK format modifiers: https://www.gnu.org/software/gawk/manual/html_node/Format-Modifiers.html
- AWK built-in variables: https://www.gnu.org/software/gawk/manual/html_node/User_002dmodified.html
- stdout to multiple commands: https://unix.stackexchange.com/questions/28503/how-can-i-send-stdout-to-multiple-commands