pyxstitch is an application (and associated library/components) that takes source code files and produces syntax-highlighted patterns for cross stitching.
install
pip
Available via pip
pip install pyxstitch
source
Clone the source repo and…
python setup.py install
or
pip install .
or
pip install -e .
usage
to run
pyxstitch --file program.py
styling
to see actual highlight colors on the pattern use --theme light-dmc and if using a high-contrast style you may want to toggle --theme dark (or --theme dark-dmc for colors on dark backgrounds).
the coloring styles are available as part of the pygments project but can be passed like so
pyxstitch --file program.py --style monokai
output
by default a png file is created matching the source code file name (e.g. hello.py -> hello.png), to change this
pyxstitch --file program.py --output image.png
or just pass a file type and type/cat into pyxstitch
cat test.py | pyxstitch --file .py --output myimage.png
by default, pyxstitch will attempt to create multiple pages for easier reading of large patterns, this can be modified via --multipage.
syntax/lexer
by default pyxstitch will use just a text lexer (no syntax) if piped/stdin is used, that can be changed, so
cat test.py | pyxstich
produces no highlighting but
cat test.py | pyxstitch --file .py # or cat test.py | pyxstitch --lexer autodetect # or tell it which pygments lexer to use cat test.py | pyxstitch --lexer python
fonts
to select a different font (from available)
pyxstitch --font <type-charset-size>
floss colors
colors can be remapped or disabled, e.g. to disable a color, set it to map to empty
pyxstitch --file test.c --map 000000=
or to map one color to another
pyxstitch --file test.c --map 000000=ffffff
advanced
some configuration options are available via the --kv input settings. Alternatively set these in a $HOME/.pyxstitch.config file to use different defaults always (unless a --kv is passed) or pass a --config and specify a different file than the one in $HOME
vim $HOME/.pyxstitch.config --- # comments will be ignored page_height=400 page_width=300
height
sets the default page height (600 default)
--kv page_height=500
width
sets the default page width (1000 default)
--kv page_width=900
padding
page padding (margins) which defaults to 50
--kv page_pad=100
index
on multipage will produce an html file (by default of 0) to group images into a pattern
--kv page_no_index=1
legend
default is 0, will print the legend to console (instead of to output image) when set to 1
--kv page_legend=1
height offset
default is 0, will change legend height placement on an image
--kv legend_hoff=10
width offset
default is 0, will change legend width placement on an image
--kv legend_woff=-5
font size
to adjust the font scaling for the legend when in the output
--kv page_font_size=100
zoom
you can zoom the pattern in by specifying the vertical and/or horizontal zoom start/end
pyxstitch --hszoom 20 --hezoom 30 --vszoom 10 --vezoom 40
will zoom the output to horizontal grid position 20 to 30 and vertical grid position 10 to 40
Metadata
Release files for pyxstitch 1.11.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| pyxstitch-1.11.1.tar.gz | 57.3 kB | Without provenance | Details for pyxstitch-1.11.1.tar.gz |
Release files / pyxstitch-1.11.1.tar.gz
| Download URL | pyxstitch-1.11.1.tar.gz |
|---|---|
| Size | 57.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
6cc84cb3c2d0053d69337432c35c91eb78f9650945c76e332b5787208ba0d08f
|
|
BLAKE2b-256 checksum How to use checksums |
4e8e4b1b10519a156d8b93079ed36a494f4447109946488fb66bdf228042739b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.8.0 pkginfo/1.8.3 readme-renderer/29.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.9 tqdm/4.63.2 importlib-metadata/0.0.0 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.10.5
|
Security for pyxstitch 1.11.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.