fritzing-stripboard


Namefritzing-stripboard JSON
Version 1.0.0 PyPI version JSON
download
home_pagehttps://github.com/coddingtonbear/fritzing-stripboard
SummaryGenerate Fritzing components that match your stripboard
upload_time2023-04-20 05:36:11
maintainer
docs_urlNone
authorAdam Coddington
requires_python>=3.6
licenseMIT
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Fritzing Stripboard Generator

Generates Fritzing components matching your particular stripboard.

![](https://coddingtonbear-public.s3.us-west-2.amazonaws.com/github/fritzing-stripboard/practical.png)

Inspired by Robert P Heller's project having a similar aim: https://github.com/RobertPHeller/fritzing-Stripboards

## Installation

```
pip install fritzing-stripboard
```

You can also install the in-development version with:

```

pip install https://github.com/coddingtonbear/fritzing-stripboard/archive/master.zip

```

## Use

```
fritzing-stripboard /path/to/board.yaml /path/to/output/part.fzpz
```

## Defining Your Board

While digging through my project supplies, I happened across a
large collection of stripboards that look like this:

![](https://coddingtonbear-public.s3.us-west-2.amazonaws.com/github/fritzing-stripboard/amz_example.jpg)

Although there are stripboards available online for Fritzing,
none quite looked like this.  Luckily, though, generating a 
Fritzing part for this board can be done easily with just a little
bit of yaml:


```yaml
meta:
  title: 3-5-5-2 Board with Solid Bus
  label: 3-5-5-2
width: 50.5
height: 100.5
board:
  - grid:
      components:
        - shared_bus:
          - bus: A1:T1
          - bus: E1:E36
          - bus: Q1:Q36
        - shared_bus:
          - bus: A37:T37
          - bus: T2:T37
          - bus: A2:A37
          - bus: K2:K37
        - drilled_rows: B2:D36
        - drilled_rows: F2:J36
        - drilled_rows: L2:P36
        - drilled_rows: R2:S36

```

The above will generate a board that looks like:

![](https://coddingtonbear-public.s3.us-west-2.amazonaws.com/github/fritzing-stripboard/rendered.png)

### The Grid

Definitions for boards use excel-like grid square ranges for defining
where new bus (trace) or drilled hole elements should appear:

![](https://coddingtonbear-public.s3.us-west-2.amazonaws.com/github/fritzing-stripboard/grid.png)


### Components

#### `bus` or `drilled`

These create a line or a line of drilled holes.  For example,
`bus` is used for creating this:

![](https://coddingtonbear-public.s3.us-west-2.amazonaws.com/github/fritzing-stripboard/bus.png)

Each `bus` or `drilled` range will be assigned its own "bus"
(a.k.a. "net") unless wrapped by `shared_bus` as you've seen in the
example above.

####  `drilled_rows` or `drilled_columns`

These create an array of rows or columns.  For example, 
`drilled_rows` is used for creating this:

![](https://coddingtonbear-public.s3.us-west-2.amazonaws.com/github/fritzing-stripboard/drilled_bus_rows.png)

Each row or column of the range will be assigned its own "bus"
(a.k.a. "net") unless wrapped by `shared_bus`.

#### `shared_bus`

`bus` and `drilled` ranges by default each get their own bus.  If your
stripboard has a more complex layout (like in the example), you can
use this 'component' for causing all components below it to share
the same bus.

### Metadata

See [BoardMetadata](https://github.com/coddingtonbear/fritzing-stripboard/blob/main/src/fritzing_stripboard/types.py#L12) for a full list of properties.



            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/coddingtonbear/fritzing-stripboard",
    "name": "fritzing-stripboard",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.6",
    "maintainer_email": "",
    "keywords": "",
    "author": "Adam Coddington",
    "author_email": "me@adamcoddington.net",
    "download_url": "https://files.pythonhosted.org/packages/95/c3/ae34e0b39922fd7edb9f7d819b05e0cb1bb32ec315bf4f7afc8bcda0345a/fritzing-stripboard-1.0.0.tar.gz",
    "platform": null,
    "description": "# Fritzing Stripboard Generator\n\nGenerates Fritzing components matching your particular stripboard.\n\n![](https://coddingtonbear-public.s3.us-west-2.amazonaws.com/github/fritzing-stripboard/practical.png)\n\nInspired by Robert P Heller's project having a similar aim: https://github.com/RobertPHeller/fritzing-Stripboards\n\n## Installation\n\n```\npip install fritzing-stripboard\n```\n\nYou can also install the in-development version with:\n\n```\n\npip install https://github.com/coddingtonbear/fritzing-stripboard/archive/master.zip\n\n```\n\n## Use\n\n```\nfritzing-stripboard /path/to/board.yaml /path/to/output/part.fzpz\n```\n\n## Defining Your Board\n\nWhile digging through my project supplies, I happened across a\nlarge collection of stripboards that look like this:\n\n![](https://coddingtonbear-public.s3.us-west-2.amazonaws.com/github/fritzing-stripboard/amz_example.jpg)\n\nAlthough there are stripboards available online for Fritzing,\nnone quite looked like this.  Luckily, though, generating a \nFritzing part for this board can be done easily with just a little\nbit of yaml:\n\n\n```yaml\nmeta:\n  title: 3-5-5-2 Board with Solid Bus\n  label: 3-5-5-2\nwidth: 50.5\nheight: 100.5\nboard:\n  - grid:\n      components:\n        - shared_bus:\n          - bus: A1:T1\n          - bus: E1:E36\n          - bus: Q1:Q36\n        - shared_bus:\n          - bus: A37:T37\n          - bus: T2:T37\n          - bus: A2:A37\n          - bus: K2:K37\n        - drilled_rows: B2:D36\n        - drilled_rows: F2:J36\n        - drilled_rows: L2:P36\n        - drilled_rows: R2:S36\n\n```\n\nThe above will generate a board that looks like:\n\n![](https://coddingtonbear-public.s3.us-west-2.amazonaws.com/github/fritzing-stripboard/rendered.png)\n\n### The Grid\n\nDefinitions for boards use excel-like grid square ranges for defining\nwhere new bus (trace) or drilled hole elements should appear:\n\n![](https://coddingtonbear-public.s3.us-west-2.amazonaws.com/github/fritzing-stripboard/grid.png)\n\n\n### Components\n\n#### `bus` or `drilled`\n\nThese create a line or a line of drilled holes.  For example,\n`bus` is used for creating this:\n\n![](https://coddingtonbear-public.s3.us-west-2.amazonaws.com/github/fritzing-stripboard/bus.png)\n\nEach `bus` or `drilled` range will be assigned its own \"bus\"\n(a.k.a. \"net\") unless wrapped by `shared_bus` as you've seen in the\nexample above.\n\n####  `drilled_rows` or `drilled_columns`\n\nThese create an array of rows or columns.  For example, \n`drilled_rows` is used for creating this:\n\n![](https://coddingtonbear-public.s3.us-west-2.amazonaws.com/github/fritzing-stripboard/drilled_bus_rows.png)\n\nEach row or column of the range will be assigned its own \"bus\"\n(a.k.a. \"net\") unless wrapped by `shared_bus`.\n\n#### `shared_bus`\n\n`bus` and `drilled` ranges by default each get their own bus.  If your\nstripboard has a more complex layout (like in the example), you can\nuse this 'component' for causing all components below it to share\nthe same bus.\n\n### Metadata\n\nSee [BoardMetadata](https://github.com/coddingtonbear/fritzing-stripboard/blob/main/src/fritzing_stripboard/types.py#L12) for a full list of properties.\n\n\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Generate Fritzing components that match your stripboard",
    "version": "1.0.0",
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "956c6f4a88eee873da02ae4be9173ea6beb7dba210141039e760da7dc05e57b2",
                "md5": "1fd44a19995488bea786fed3ad4bf4fb",
                "sha256": "03fbd6030312128cec209b25939f8fe594fcd4434294d77dbfa20bf5d93a6091"
            },
            "downloads": -1,
            "filename": "fritzing_stripboard-1.0.0-py2.py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "1fd44a19995488bea786fed3ad4bf4fb",
            "packagetype": "bdist_wheel",
            "python_version": "py2.py3",
            "requires_python": ">=3.6",
            "size": 9377,
            "upload_time": "2023-04-20T05:36:09",
            "upload_time_iso_8601": "2023-04-20T05:36:09.483254Z",
            "url": "https://files.pythonhosted.org/packages/95/6c/6f4a88eee873da02ae4be9173ea6beb7dba210141039e760da7dc05e57b2/fritzing_stripboard-1.0.0-py2.py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "95c3ae34e0b39922fd7edb9f7d819b05e0cb1bb32ec315bf4f7afc8bcda0345a",
                "md5": "2b0183de800acbe28d3f21369d9abd13",
                "sha256": "43ec5e2710ea2a3c50d2a969d783be80cb470e478a07b9dc1096944c2f167b6f"
            },
            "downloads": -1,
            "filename": "fritzing-stripboard-1.0.0.tar.gz",
            "has_sig": false,
            "md5_digest": "2b0183de800acbe28d3f21369d9abd13",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.6",
            "size": 66035,
            "upload_time": "2023-04-20T05:36:11",
            "upload_time_iso_8601": "2023-04-20T05:36:11.060968Z",
            "url": "https://files.pythonhosted.org/packages/95/c3/ae34e0b39922fd7edb9f7d819b05e0cb1bb32ec315bf4f7afc8bcda0345a/fritzing-stripboard-1.0.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-04-20 05:36:11",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "github_user": "coddingtonbear",
    "github_project": "fritzing-stripboard",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "fritzing-stripboard"
}
        
Elapsed time: 1.05658s