inkex-bh


Nameinkex-bh JSON
Version 1.0.0 PyPI version JSON
download
home_page
SummaryInkscape extensions for Barn Hunt
upload_time2023-08-26 17:51:07
maintainer
docs_urlNone
author
requires_python>=3.7
licenseGNU GPLv3
keywords barn hunt barnhunt inkscape
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Inkscape Extensions for Barn Hunt

[![Tests](https://github.com/barnhunt/inkex-bh/actions/workflows/tests.yml/badge.svg)](https://github.com/barnhunt/inkex-bh/actions/workflows/tests.yml)
[![PyPI Version](https://img.shields.io/pypi/v/inkex-bh.svg)](https://pypi.org/project/inkex-bh/)
[![Python Versions](https://img.shields.io/pypi/pyversions/inkex-bh.svg)](https://pypi.org/project/inkex-bh/)
[![Inkscape Versions](https://img.shields.io/badge/Inkscape-1.0%E2%80%931.2-blue.svg?logo=inkscape)](https://inkscape.org/)
[![PyPI Status](https://img.shields.io/pypi/status/inkex-bh.svg)](https://pypi.org/project/inkex-bh/)
[![Trackgit Views](https://us-central1-trackgit-analytics.cloudfunctions.net/token/ping/lhaq7ky5ax237etf70pl)](https://trackgit.com)

Here are some Inkscape extensions that are possibly useful when using
[Inkscape][] to draw [Barn Hunt][] maps.

These are a freshly updated and rewritten version of plugins that I
(and Sandra, my wife) have been using for several years to draw our
maps. The sample course map on the official [BHA Judging Assignment
Cheat Sheet][cheat] is one of mine. (The previous versions of the
plugins worked with Inkscape version 0.x.  The plugin API has changed
considerably since then, so a rewrite was necessary to get the plugins
to work with more modern versions of Inkscape.)

These extensions are, as yet, poorly documented, and likely not to
work without tweaks in all environments (I used Linux — these
extensions are totally untested on Windows), so I'm not sure that
they're generally useful, yet.

The goal is for these to work on all version of Inkscape with versions
of 1.0 or greater.  Currently, these have be cursorily tested under
Inkscape versions 1.1.2 and 1.2.1.

[Inkscape]: https://inkscape.org/ (The Inkscape home page)
[Barn Hunt]: https://www.barnhunt.com/ (Barn Hunt — a fabulous sport for dogs)
[cheat]: https://www.barnhunt.com/judge/resources.php?download=147 (The official BHA "Judging Assignment Cheat Sheet" which includes, as an example, one of my course maps, drawn using Inkscape.)


## What’s Here?

Currently there are four extensions.

### Count Symbols

We use Inkscape symbol libraries containing map elements like
individual bales, rat tube markers, etc to draw our maps.  This plugin
simply counts what symbols are visible, and reports a list of symbol
names along with how many times they are used in the drawing.  (By
default, only symbols on visible layers are counted.)

![Example output from the "Count Symbols" extension](https://github.com/barnhunt/inkex-bh/raw/master/count-symbols.png)

#### The bh:count-as symbol attribute

Symbols may be marked with a custom `bh:count-as` attribute, in order
to have them counted under some name other than their XML `id`.

I have a number of different symbols for bales: first level bales,
second level bales, bales on edge, leaners, etc.  I would like all
bales of a given size counted under the same name.  So, in my symbol
libraries, I set a `bh:count-as="bale-42x18x16"` on each of the
variants of 42”x18”x16” bales.

### Create Inset

This extension creates an embedded PNG image created by exporting a
portion of the drawing.  Such images are useful, for example, to include
a base-layer map (possibly at reduced scale) on the same page as the complete
course map.

To use, one should:

1. Hide/unhide layers as you wish, to make what you want visible in
   the exported image visible.

2. Select one object in the drawing. That object will define the
   rectangular bounding box of the exported image.  Then run the
   extension.

This will create an image. It will be created on top of all other
layers in the drawing. (You will probably want to move that image into
an appropriate layer.)

#### Regenerating the Insets

The layers that were visible when the image was generated, and the
object which defined the boundary of the image are recorded in custom
attributes on the `<svg:image>` element.  This makes it easy to
regenerate the image(s), should that become necessary (e.g. after
you've made changes to the drawing.)

Simply select just the generated images you'd like regenerated, and
fire off the extension.  It will adjust layer visibility to match what
it was when each image was first exported, and re-export it.


### Hide Rats

The third extension is used to randomize the position of rat tubes on rat maps.

Instructions pending... :-/

### Set Random Seed

This sets or updates a random number stored in a custom attribute out
the `<svg>` element of the drawing.  This number is used by the
[barnhunt][] program to seed the pseudo-random number generator used
when expanding text templates.  Setting it to a unique number ensure,
e.g., that the Master random rat numbers come out random, but still
reproducible.

When one copies an existing `.svg` file to use a template for a new
trial, one should run this plugin, with the _force-reseed_ checkbox
checked, to ensure that the copied file gets a new, unique random
seed.

----

## Installation

The easiest way to install these extensions is using the new `install`
sub-command of my [`barnhunt`
script](https://github.com/barnhunt/barnhunt):

First install [Inkscape](https://inkscape.org),
[python](https://python.org), and, then,
my [barnhunt script](https://github.com/barnhunt/barnhunt#installation).
Finally, run:

```sh
barnhunt install
```

to install both these extensions and my [symbol
sets](https://github.com/barnhunt/bh-symbols) into
your Inkscape configuration.

### Manual Installation

It is now recommended to use the `barnhunt install` sub-command to
install these extensions (see above).  However, they may still be
installed manually.

To manually install a released version of this package:

1. Download the packaged zip file _asset_ from the GitHub [Releases
   page](https://github.com/barnhunt/inkex-bh/releases) for the
   desired release.  (Those are the zip files named something like
   `inkex_bh-`_version_`.zip`.)

2. Unzip the zip file into your Inkscape user extensions directory.

   On Linux this can be done thusly:
   ```bash
   # remove previous installed version, if any
   rm -r "$(inkscape --user-data-directory)/extensions/org.dairiki.inkex_bh"

   # unpack desired version of extensions to user's Inkscape extensions directory
   unzip -d "$(inkscape --user-data-directory)/extensions" inkex_bh-X.Y.Z.zip
   ```

> **Warning**: It is no longer recommended to install the extensions
  using `pip`.  (Though, for now, the package will continue to be
  published to PyPI.)

### Packaging

To build a packaged zip file from the git source, clone the git
repository, install [hatch], then run

```bash
hatch build --target zipped-directory
```

That should build a zip archive in the `dist/` subdirectory.

[hatch]: https://hatch.pypa.io/latest/

----


## What's Elsewhere?

There are two other bits I use when drawing maps.

Neither of these are published in a public place, yet.

And, of course, their use is not documented at all.

Kick me if you want to know more.


### Barn Hunt Symbol Libraries for Inkscape

I've constructed some symbol libraries for Inkscape containing things
like bales, boards, rat markers, fluff pile symbols, etc.

I've even got a semi-automatic scheme set up by which I can generate
symbol sets for arbitrary sized bales.


### The `barnhunt` command-line export utility

I draw all my maps for a given course (for a day or weekend) on
various nested layers in a single drawing.  By hiding and unhiding
various sets of layers all of my maps can be generated.

I have a python script named [`barnhunt`][barnhunt], whose primary job
is to automate that layer hiding/unhiding and PDF exporting process.
While exporting the map, it can also expand special template syntax in
text in the drawings.  This can be used to automate the printing of
course names and blind numbers on the exported map, and is also used
to generate the random Master rat numbers.

Sadly, at present there is zero documentation on how to use it.

Kick me if you want to know more.

[barnhunt]: https://github.com/barnhunt/barnhunt

## Author

Jeff Dairiki, BHAJ-221A
<dairiki@dairiki.org>

----

## Changes

### 1.0.0 (2023-08-26)

#### create-inset

- Fix to work when there are visible clones of layers with hidden parents. ([#2])

[#2]: https://github.com/barnhunt/inkex-bh/issues/2

### 1.0.0rc7 (2023-03-08)

#### update-symbols

- Only skip symbol sets if they contain a symbol id that conflicts
  with an already scanned symbol set.  Standard-scale (48:1) symbols
  sets are loaded first, so this results in skipping non-standard
  symbol sets, but *only* if they contain conflicting symbol ids.
  Previously, we just ignored all non-standard symbol sets.

  (Until recently, bale sets for non-standard scales (e.g. 60:1) used
  the same symbol ids as the standard scale (48:1) sets. As of
  `bh-symbols==1.0.0rc5`, all symbols now have globally unique ids.)

- Do not update unchanged symbols.

- Add `dry-run` option to report which symbols would be updated.

- Report the currently installed version of [bh-symbols].

### 1.0.0rc6 (2023-03-06)

- Added new *update-symbols* extension to update the symbol definitions
  in a drawing to those in the installed version of the [bh-symbols] symbol
  library.

  **NOTE** The *update symbols* operation, if it goes badly, has the
  capability to significantly mangle the drawing.  Make sure you have
  a back-up copy of the drawing before running the extension.

[bh-symbols]: https://github.com/barnhunt/bh-symbols

### 1.0.0rc5 (2023-02-17)

#### Refactor

- Use helpers provided by `inkex.command` (rather than calling
  `subprocess.run` directly) to run Inkscape (and optipng) from the
  *create-inset* extension.

#### Testing

- Add integration test for the *create-inset* extension. This checks
  that the extension can be invoked from Inkscape's batch mode.

- Omit use of virtual environment in `test_run_module_in_installed_extensions`.

### 1.0.0rc4 (2023-02-14)

#### Bugs

- Fix the _create inset_ extensions when running from the AppImage-packaged version
  of Inkscape 1.2.2.

### 1.0.0rc3 (2022-10-12)

#### Bugs

- Fix the _create inset_ and _hide rats_ extensions so that they might
  actually run under Inkscape 1.0.x.

#### Packaging

- We now build and publish — as GitHub Release artifacts — zip
  archives of the extension that suitable for unzipping in a user's
  Inkscape extensions directory.

- Use [hatch] for packaging.

#### Testing

- Install `inkex` from custom-built wheels in the python registry at
  https://gitlab.com/dairiki/inkex/.  The versions of `inkex` on PyPI
  are stale, and also don't match the `inkex` included in any
  particular version of Inkscape.

- We now test (I think) under truly the whole matrix of supported
  python × Inkscape/inkex versions.


[hatch]: https://github.com/pypa/hatch

### 1.0.0rc2 (2022-09-25)

#### Bugs Fixed

##### Hide Rats

- When _Clone rat layer_ selected, cloning of text was screwed up.

### 1.0.0rc1 (2022-08-31)

This is a fairly complete rewrite and repackaging of a set of Barn
Hunt extensions I used with Inkscape 0.9x.  (As of Inkscape 1.0, the
extension API changed significantly, so this required a significant
rework.)

            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "inkex-bh",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": "",
    "keywords": "barn hunt,barnhunt,inkscape",
    "author": "",
    "author_email": "Jeff Dairiki <dairiki@dairiki.org>",
    "download_url": "https://files.pythonhosted.org/packages/67/41/0bdeceab1993ac2bb115f0cb47be3b500b6a9ad71c9b5163d12cb7e66047/inkex_bh-1.0.0.tar.gz",
    "platform": null,
    "description": "# Inkscape Extensions for Barn Hunt\n\n[![Tests](https://github.com/barnhunt/inkex-bh/actions/workflows/tests.yml/badge.svg)](https://github.com/barnhunt/inkex-bh/actions/workflows/tests.yml)\n[![PyPI Version](https://img.shields.io/pypi/v/inkex-bh.svg)](https://pypi.org/project/inkex-bh/)\n[![Python Versions](https://img.shields.io/pypi/pyversions/inkex-bh.svg)](https://pypi.org/project/inkex-bh/)\n[![Inkscape Versions](https://img.shields.io/badge/Inkscape-1.0%E2%80%931.2-blue.svg?logo=inkscape)](https://inkscape.org/)\n[![PyPI Status](https://img.shields.io/pypi/status/inkex-bh.svg)](https://pypi.org/project/inkex-bh/)\n[![Trackgit Views](https://us-central1-trackgit-analytics.cloudfunctions.net/token/ping/lhaq7ky5ax237etf70pl)](https://trackgit.com)\n\nHere are some Inkscape extensions that are possibly useful when using\n[Inkscape][] to draw [Barn Hunt][] maps.\n\nThese are a freshly updated and rewritten version of plugins that I\n(and Sandra, my wife) have been using for several years to draw our\nmaps. The sample course map on the official [BHA Judging Assignment\nCheat Sheet][cheat] is one of mine. (The previous versions of the\nplugins worked with Inkscape version 0.x.  The plugin API has changed\nconsiderably since then, so a rewrite was necessary to get the plugins\nto work with more modern versions of Inkscape.)\n\nThese extensions are, as yet, poorly documented, and likely not to\nwork without tweaks in all environments (I used Linux \u2014 these\nextensions are totally untested on Windows), so I'm not sure that\nthey're generally useful, yet.\n\nThe goal is for these to work on all version of Inkscape with versions\nof 1.0 or greater.  Currently, these have be cursorily tested under\nInkscape versions 1.1.2 and 1.2.1.\n\n[Inkscape]: https://inkscape.org/ (The Inkscape home page)\n[Barn Hunt]: https://www.barnhunt.com/ (Barn Hunt \u2014 a fabulous sport for dogs)\n[cheat]: https://www.barnhunt.com/judge/resources.php?download=147 (The official BHA \"Judging Assignment Cheat Sheet\" which includes, as an example, one of my course maps, drawn using Inkscape.)\n\n\n## What\u2019s Here?\n\nCurrently there are four extensions.\n\n### Count Symbols\n\nWe use Inkscape symbol libraries containing map elements like\nindividual bales, rat tube markers, etc to draw our maps.  This plugin\nsimply counts what symbols are visible, and reports a list of symbol\nnames along with how many times they are used in the drawing.  (By\ndefault, only symbols on visible layers are counted.)\n\n![Example output from the \"Count Symbols\" extension](https://github.com/barnhunt/inkex-bh/raw/master/count-symbols.png)\n\n#### The bh:count-as symbol attribute\n\nSymbols may be marked with a custom `bh:count-as` attribute, in order\nto have them counted under some name other than their XML `id`.\n\nI have a number of different symbols for bales: first level bales,\nsecond level bales, bales on edge, leaners, etc.  I would like all\nbales of a given size counted under the same name.  So, in my symbol\nlibraries, I set a `bh:count-as=\"bale-42x18x16\"` on each of the\nvariants of 42\u201dx18\u201dx16\u201d bales.\n\n### Create Inset\n\nThis extension creates an embedded PNG image created by exporting a\nportion of the drawing.  Such images are useful, for example, to include\na base-layer map (possibly at reduced scale) on the same page as the complete\ncourse map.\n\nTo use, one should:\n\n1. Hide/unhide layers as you wish, to make what you want visible in\n   the exported image visible.\n\n2. Select one object in the drawing. That object will define the\n   rectangular bounding box of the exported image.  Then run the\n   extension.\n\nThis will create an image. It will be created on top of all other\nlayers in the drawing. (You will probably want to move that image into\nan appropriate layer.)\n\n#### Regenerating the Insets\n\nThe layers that were visible when the image was generated, and the\nobject which defined the boundary of the image are recorded in custom\nattributes on the `<svg:image>` element.  This makes it easy to\nregenerate the image(s), should that become necessary (e.g. after\nyou've made changes to the drawing.)\n\nSimply select just the generated images you'd like regenerated, and\nfire off the extension.  It will adjust layer visibility to match what\nit was when each image was first exported, and re-export it.\n\n\n### Hide Rats\n\nThe third extension is used to randomize the position of rat tubes on rat maps.\n\nInstructions pending... :-/\n\n### Set Random Seed\n\nThis sets or updates a random number stored in a custom attribute out\nthe `<svg>` element of the drawing.  This number is used by the\n[barnhunt][] program to seed the pseudo-random number generator used\nwhen expanding text templates.  Setting it to a unique number ensure,\ne.g., that the Master random rat numbers come out random, but still\nreproducible.\n\nWhen one copies an existing `.svg` file to use a template for a new\ntrial, one should run this plugin, with the _force-reseed_ checkbox\nchecked, to ensure that the copied file gets a new, unique random\nseed.\n\n----\n\n## Installation\n\nThe easiest way to install these extensions is using the new `install`\nsub-command of my [`barnhunt`\nscript](https://github.com/barnhunt/barnhunt):\n\nFirst install [Inkscape](https://inkscape.org),\n[python](https://python.org), and, then,\nmy [barnhunt script](https://github.com/barnhunt/barnhunt#installation).\nFinally, run:\n\n```sh\nbarnhunt install\n```\n\nto install both these extensions and my [symbol\nsets](https://github.com/barnhunt/bh-symbols) into\nyour Inkscape configuration.\n\n### Manual Installation\n\nIt is now recommended to use the `barnhunt install` sub-command to\ninstall these extensions (see above).  However, they may still be\ninstalled manually.\n\nTo manually install a released version of this package:\n\n1. Download the packaged zip file _asset_ from the GitHub [Releases\n   page](https://github.com/barnhunt/inkex-bh/releases) for the\n   desired release.  (Those are the zip files named something like\n   `inkex_bh-`_version_`.zip`.)\n\n2. Unzip the zip file into your Inkscape user extensions directory.\n\n   On Linux this can be done thusly:\n   ```bash\n   # remove previous installed version, if any\n   rm -r \"$(inkscape --user-data-directory)/extensions/org.dairiki.inkex_bh\"\n\n   # unpack desired version of extensions to user's Inkscape extensions directory\n   unzip -d \"$(inkscape --user-data-directory)/extensions\" inkex_bh-X.Y.Z.zip\n   ```\n\n> **Warning**: It is no longer recommended to install the extensions\n  using `pip`.  (Though, for now, the package will continue to be\n  published to PyPI.)\n\n### Packaging\n\nTo build a packaged zip file from the git source, clone the git\nrepository, install [hatch], then run\n\n```bash\nhatch build --target zipped-directory\n```\n\nThat should build a zip archive in the `dist/` subdirectory.\n\n[hatch]: https://hatch.pypa.io/latest/\n\n----\n\n\n## What's Elsewhere?\n\nThere are two other bits I use when drawing maps.\n\nNeither of these are published in a public place, yet.\n\nAnd, of course, their use is not documented at all.\n\nKick me if you want to know more.\n\n\n### Barn Hunt Symbol Libraries for Inkscape\n\nI've constructed some symbol libraries for Inkscape containing things\nlike bales, boards, rat markers, fluff pile symbols, etc.\n\nI've even got a semi-automatic scheme set up by which I can generate\nsymbol sets for arbitrary sized bales.\n\n\n### The `barnhunt` command-line export utility\n\nI draw all my maps for a given course (for a day or weekend) on\nvarious nested layers in a single drawing.  By hiding and unhiding\nvarious sets of layers all of my maps can be generated.\n\nI have a python script named [`barnhunt`][barnhunt], whose primary job\nis to automate that layer hiding/unhiding and PDF exporting process.\nWhile exporting the map, it can also expand special template syntax in\ntext in the drawings.  This can be used to automate the printing of\ncourse names and blind numbers on the exported map, and is also used\nto generate the random Master rat numbers.\n\nSadly, at present there is zero documentation on how to use it.\n\nKick me if you want to know more.\n\n[barnhunt]: https://github.com/barnhunt/barnhunt\n\n## Author\n\nJeff Dairiki, BHAJ-221A\n<dairiki@dairiki.org>\n\n----\n\n## Changes\n\n### 1.0.0 (2023-08-26)\n\n#### create-inset\n\n- Fix to work when there are visible clones of layers with hidden parents. ([#2])\n\n[#2]: https://github.com/barnhunt/inkex-bh/issues/2\n\n### 1.0.0rc7 (2023-03-08)\n\n#### update-symbols\n\n- Only skip symbol sets if they contain a symbol id that conflicts\n  with an already scanned symbol set.  Standard-scale (48:1) symbols\n  sets are loaded first, so this results in skipping non-standard\n  symbol sets, but *only* if they contain conflicting symbol ids.\n  Previously, we just ignored all non-standard symbol sets.\n\n  (Until recently, bale sets for non-standard scales (e.g. 60:1) used\n  the same symbol ids as the standard scale (48:1) sets. As of\n  `bh-symbols==1.0.0rc5`, all symbols now have globally unique ids.)\n\n- Do not update unchanged symbols.\n\n- Add `dry-run` option to report which symbols would be updated.\n\n- Report the currently installed version of [bh-symbols].\n\n### 1.0.0rc6 (2023-03-06)\n\n- Added new *update-symbols* extension to update the symbol definitions\n  in a drawing to those in the installed version of the [bh-symbols] symbol\n  library.\n\n  **NOTE** The *update symbols* operation, if it goes badly, has the\n  capability to significantly mangle the drawing.  Make sure you have\n  a back-up copy of the drawing before running the extension.\n\n[bh-symbols]: https://github.com/barnhunt/bh-symbols\n\n### 1.0.0rc5 (2023-02-17)\n\n#### Refactor\n\n- Use helpers provided by `inkex.command` (rather than calling\n  `subprocess.run` directly) to run Inkscape (and optipng) from the\n  *create-inset* extension.\n\n#### Testing\n\n- Add integration test for the *create-inset* extension. This checks\n  that the extension can be invoked from Inkscape's batch mode.\n\n- Omit use of virtual environment in `test_run_module_in_installed_extensions`.\n\n### 1.0.0rc4 (2023-02-14)\n\n#### Bugs\n\n- Fix the _create inset_ extensions when running from the AppImage-packaged version\n  of Inkscape 1.2.2.\n\n### 1.0.0rc3 (2022-10-12)\n\n#### Bugs\n\n- Fix the _create inset_ and _hide rats_ extensions so that they might\n  actually run under Inkscape 1.0.x.\n\n#### Packaging\n\n- We now build and publish \u2014 as GitHub Release artifacts \u2014 zip\n  archives of the extension that suitable for unzipping in a user's\n  Inkscape extensions directory.\n\n- Use [hatch] for packaging.\n\n#### Testing\n\n- Install `inkex` from custom-built wheels in the python registry at\n  https://gitlab.com/dairiki/inkex/.  The versions of `inkex` on PyPI\n  are stale, and also don't match the `inkex` included in any\n  particular version of Inkscape.\n\n- We now test (I think) under truly the whole matrix of supported\n  python \u00d7 Inkscape/inkex versions.\n\n\n[hatch]: https://github.com/pypa/hatch\n\n### 1.0.0rc2 (2022-09-25)\n\n#### Bugs Fixed\n\n##### Hide Rats\n\n- When _Clone rat layer_ selected, cloning of text was screwed up.\n\n### 1.0.0rc1 (2022-08-31)\n\nThis is a fairly complete rewrite and repackaging of a set of Barn\nHunt extensions I used with Inkscape 0.9x.  (As of Inkscape 1.0, the\nextension API changed significantly, so this required a significant\nrework.)\n",
    "bugtrack_url": null,
    "license": "GNU GPLv3",
    "summary": "Inkscape extensions for Barn Hunt",
    "version": "1.0.0",
    "project_urls": {
        "Homepage": "https://github.com/barnhunt/inkex-bh"
    },
    "split_keywords": [
        "barn hunt",
        "barnhunt",
        "inkscape"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "6ea46fa41294b680a53d723f09a87f64d311d0e88450df871d71ba3a15ed9389",
                "md5": "f04e5877f5ff03b6429f1a4a9a76f198",
                "sha256": "779c03e8d86c21fb58adb769db8aa30741b1ee55778a36e252599e18e43ebba1"
            },
            "downloads": -1,
            "filename": "inkex_bh-1.0.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "f04e5877f5ff03b6429f1a4a9a76f198",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 42372,
            "upload_time": "2023-08-26T17:51:05",
            "upload_time_iso_8601": "2023-08-26T17:51:05.430052Z",
            "url": "https://files.pythonhosted.org/packages/6e/a4/6fa41294b680a53d723f09a87f64d311d0e88450df871d71ba3a15ed9389/inkex_bh-1.0.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "67410bdeceab1993ac2bb115f0cb47be3b500b6a9ad71c9b5163d12cb7e66047",
                "md5": "b5ec904ac7e75e75bdbf05998d9c65a6",
                "sha256": "255458f8ac79c983379ae6cacc15bf4eafc50bff6efa8d9a98b03d3803786874"
            },
            "downloads": -1,
            "filename": "inkex_bh-1.0.0.tar.gz",
            "has_sig": false,
            "md5_digest": "b5ec904ac7e75e75bdbf05998d9c65a6",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 53429,
            "upload_time": "2023-08-26T17:51:07",
            "upload_time_iso_8601": "2023-08-26T17:51:07.107183Z",
            "url": "https://files.pythonhosted.org/packages/67/41/0bdeceab1993ac2bb115f0cb47be3b500b6a9ad71c9b5163d12cb7e66047/inkex_bh-1.0.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-08-26 17:51:07",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "barnhunt",
    "github_project": "inkex-bh",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "tox": true,
    "lcname": "inkex-bh"
}
        
Elapsed time: 0.10263s