Skip to main content

No project description provided

Project description

Overview

This is a simple API wrapper that allows interaction with a PackaideServer instance.

The API allows for passing multiple SVG files to the server, which are then nested into one or more SVG files. The resulting SVG files are then returned to the client.

Installation

pip install packaide_client

Usage

The main class is a PackaideClient which exposes a single method pack. This method takes a list of SVG strings, height and width (in inches) and returns a list of SVG strings. The resulting SVG strings will have the nested shapes.

As a side note, the original size (ie: viewBox) of the input SVG files has no influence on the size of the output SVG files. The output SVG will always conform to the height and width parameters. However, if any shape or path in the input SVG files is too large to fit in the output SVG, a ValueError will be always be raised.

Example

from packaide_client import PackaideClient

# URL is the address of the server instance, usually operating on port 8000
URL = "http://localhost:8000"

client = PackaideClient(URL)

svg1 = "<svg>...</svg>"
svg2 = "<svg>...</svg>"

results = client.pack([svg1, svg2], height=60, width=40,
                      tolerance=.1,
                      offset=5,
                      rotations=4)  # Returns a list of SVGs

# results can be passed to other functions
for sheet in results:
    print(sheet)

# Or written to a files
for i, sheet in enumerate(results):
    with open(f"sheet_{i}.svg", "w") as f:
        f.write(sheet)

Parameters

The pack method takes the following parameters:

  • svgs: A list of SVG strings to be nested
  • height: The height of the output SVG in inches
  • width: The width of the output SVG in inches
  • tolerance: The tolerance used when quantizing curves (Discretization tolerance)
  • offset: The offset distance around each shape (dilation)
  • rotations: The number of rotations to attempt when nesting shapes.

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

packaide_client-1.0.2.tar.gz (2.9 kB view details)

Uploaded Source

Built Distribution

packaide_client-1.0.2-py3-none-any.whl (3.3 kB view details)

Uploaded Python 3

File details

Details for the file packaide_client-1.0.2.tar.gz.

File metadata

  • Download URL: packaide_client-1.0.2.tar.gz
  • Upload date:
  • Size: 2.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.12.0

File hashes

Hashes for packaide_client-1.0.2.tar.gz
Algorithm Hash digest
SHA256 f3559ed19033a4b2de3a5db75b3104752a650387bc2b644ced9419eaef7ff180
MD5 ae43c5226011a411646469115ebe5fbc
BLAKE2b-256 8d6f222ababe1f3285ffb521b4ef9aa59430e0fb58a1d98586bfd0c99e2c8fdd

See more details on using hashes here.

File details

Details for the file packaide_client-1.0.2-py3-none-any.whl.

File metadata

File hashes

Hashes for packaide_client-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 1e103fce5fe11a71d8bd905da48c1ac85ae88a38c070713d7480eff84d102726
MD5 d4e820f484823b2930e6a5157c439cee
BLAKE2b-256 1d7ca190be97c153fe10db8c819c12032fc2a8e53343b67cec8ee028b1defaa7

See more details on using hashes here.

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