:shipit: Ambigram
:bookmark: Table of contents
:question: About
Ambigram is a small but powerful library that automates the process of creating 3D Ambigram from two different length (with spaces) strings.
:file_folder: Installation
:penguin: Binary dependencies (Unix)
sudo apt-get install python3 python3-pip python3-setuptools
:snake: Option 1: Pypi
python3 -m pip install ambigram
:hand: Option 2: Git repository (Still connects to Pypi)
pip install git+https://github.com/sivefunc/ambigram.git
:computer: Example
Simple Text
from cadquery.vis import show
from ambigram import Ambigram
ambigram = Ambigram("HELLO", "WORLD")
show(ambigram.assembly)
| X Perspective | Y Perspective |
|---|---|
Two different length string with a Rectangular Base
from cadquery.vis import show
from ambigram import Ambigram
ambigram = Ambigram("ANDROID", "IOS")
ambigram = ambigram.add_base_rectangle(
height=ambigram.font_size / 10.0,
padding=ambigram.font_size / 10.0,
)
show(ambigram.assembly)
| X Perspective | Y Perspective |
|---|---|
Letter Support + Base
from cadquery.vis import show
from ambigram import Ambigram
ambigram = Ambigram("RECURSIVE", "FUNCTION")
ambigram = ambigram.add_letter_support_to_all(
cylinder_height=ambigram.font_size / 4.0,
cylinder_radius=ambigram.font_size / 4.0,
rect_height=ambigram.font_size / 16.0,
)
ambigram = ambigram.add_base_rectangle(
height=ambigram.font_size / 10.0,
padding=ambigram.font_size / 10.0,
)
show(ambigram.assembly)
| X Perspective | Y Perspective |
|---|---|
:notebook: Notes
- Different Length String are implemented by placing the extra chars behind the shortest one (see it for yourself)
- Spaces are Allowed but needs further testing.
- A new algorithm for bases is need the current ones are rectangular and P2P, P2P is quite good at == string lengt but more improvement is needed.
- Needs further documentation
- Needs further testing
Thanks to
- 2CatTeam That allowed me to see that whitespaces and different string length are allowed.
- Lucandia That allowd me to see that It was possible in Python.
Made by :link: Sivefunc
Licensed under :link: GPLv3
Metadata
Release files for ambigram 0.0.29
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 | |
|---|---|---|---|---|
| ambigram-0.0.29.tar.gz | 24.5 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ambigram-0.0.29-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 48.6 kB
Release files / ambigram-0.0.29.tar.gz
| Download URL | ambigram-0.0.29.tar.gz |
|---|---|
| Size | 24.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
175ab3d80bcbef274897f79fd2e39fb5360579892a653e1cb2b0292b30d00eb2
|
|
BLAKE2b-256 checksum How to use checksums |
a27f0b4b83e47d288dd674a3f65666f215edab089826cf4a3e1ba68ce9c67a3d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.11.2
|
Release files / ambigram-0.0.29-py3-none-any.whl
| Download URL | ambigram-0.0.29-py3-none-any.whl |
|---|---|
| Size | 24.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
406f30ba3a5c190327aa8e6b4292f6b63b02a025ba0e3c7ae58e42723f70583f
|
|
BLAKE2b-256 checksum How to use checksums |
3f5f575f155cefa6dc2b19c6f70de0f1a2aed91a397d1f89538914d762503b51
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.11.2
|
Security for ambigram 0.0.29
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.