Skip to main content

Fancy Galaxy Code creator package.

Project description

Fancy Galaxy Code (FGC)

Fancy Galaxy Code (FGC) is an open source standard for fast and reliable data representation while maintaining a nice look and feel.
FGC strifes to serve as a prettier QR-Code straight from the future.
Contributions and integrations into projects are highly appreciated!

Links

PyPI Package
Online FGC Creator

Specification

Data processing

  • 4 Version bits
  • n Data + Hamming Code correction bits

Data representation

General structure

Center point is thick and has a distance d to the ring surrounding it.
All of the rings have exactly distance d to every previous and next ring.
The dot in the ring around it represents the orientation (0 degrees).
The black dot in the outer ring is for orientation purposes as well.

Every ring has an amount of n bits, calculated with: degree_per_bit = max(5, max(1, 20 / max(1, ring_number / 2)))
That means the rings can store up to degree_per_bit - 1 bits, since the first bit of every layer is always a 0.

Data representation

If the next bit is the same as this bit: Draw an arc
If the next bit is not the same as this bit: Draw a dot

Also:
In the last layer there is an orientation point for easier orientation calculation, if it fits.
It fits if the last layer has space for it.
If it does not fit, it has to be placed in a seperate layer without any data.
After the orientation point, the sequence starts with the normal non-data 0.

Visual explanation

Visual over on GitHub

Code execution

Before execution you have to install the requirements by executing:

pip install -r requirements.txt

Execution:

python3 fgc_tools_creator.py 'Content of fgc' outputfile.svg

Use the fgc-tools package

Install the package via:

pip install fgc-tools

Import the FGCCreator class and create an fgc:

from fgc_tools import FGCCreator

FGCCreator.create_fgc(data, output_file, color_start, color_end, background_color)

Example svg

Visual over on GitHub

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

fgc_tools-0.0.5.tar.gz (416.4 kB view hashes)

Uploaded Source

Built Distribution

fgc_tools-0.0.5-py3-none-any.whl (419.1 kB view hashes)

Uploaded Python 3

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