necbol


Namenecbol JSON
Version 2.1.3 PyPI version JSON
download
home_pageNone
SummaryA plain language Python wrapper for NEC
upload_time2025-07-24 15:25:16
maintainerNone
docs_urlNone
authorNone
requires_python>=3.8
licenseNone
keywords nec antenna wire editor 3d electromagnetics ham radio radio optimisation
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # NECBOL [![PyPI Downloads](https://static.pepy.tech/badge/necbol)](https://pepy.tech/projects/necbol)

**NECBOL** is a Python library that provides a geometry-first interface for building antenna models using the NEC (Numerical Electromagnetics Code) engine. 

## Features

- **Component-based antenna construction**: Easily create antennas using predefined components.
- **Flexible length units**: Specify antenna dimensions in mm, m, cm, ft or in as needed.
- **Automatic wire joining**: Automatically connects wire ends to other wires, simplifying model creation.
- **Flexible connector placement**: Add connectors between specific points on different objects.
- **Configurable simulation parameters**: Set frequency, ground type, and pattern observation points.
- **Current component library**: Helix, circular arc/loop, rectangular loop, straight wire, straight connector
- **Easy to place**: feedpoint, series RLC load(s), prarallel RLC load(s) specified in ohms, uH and pF
- **Easy to define meshed grids** which can also be joined edge to edge to create box structures (see the [car model](https://github.com/G1OJS/NECBOL/blob/main/example_handheld_in_a_car.py))
- **Dielectric sheet model**: currently experimental, not validated, built in to a flat sheet geometry component
- **Optimiser**: Optimise VSWR and / or Gain in a specified direction 
- **More coming soon**: See [next steps/future plans](https://github.com/G1OJS/NECBOL/blob/main/TO_DO.md)
- **Extensible design**: It's written in Python, so you can use the core and add your own code
- **Example files**: Simple dipole, Hentenna with reflector with example parameter sweep, Circular version of Skeleton Slot Cube with Optimiser code

![Capture](https://github.com/user-attachments/assets/f8d57095-cbbd-4a02-9e40-2d81520a3799)

## 🛠 Installation

Install using pip: open a command window and type

```
pip install necbol
```
## User Guide
Documentation is work in progress. In the meantime:

* For a quick and basic overview, see the file [example_dipole_with_detailed_comments.py](https://github.com/G1OJS/NECBOL/blob/d22ee40ef966d9abb778667cd5b5979a98ed287b/example_dipole_with_detailed_comments.py) for a minimal explanation of how to use this framework.

* There are several more example files in the [examples folder](https://github.com/G1OJS/NECBOL/tree/main/examples) intended to highlight different aspects of necbol and different ways of doing similar things. You can copy these examples and modify to see how they work, or start your own from scratch.

* Automated documentation is [here](https://g1ojs.github.io/NECBOL/docs/user_functions.html)
  
* You can browse the source files in the [necbol folder](https://github.com/G1OJS/NECBOL/tree/main/necbol) (however note that they may be ahead of the release on pip).

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "necbol",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": "nec, antenna, wire editor, 3D, electromagnetics, ham radio, radio, optimisation",
    "author": null,
    "author_email": "G1OJS <g1ojs@yahoo.com>",
    "download_url": "https://files.pythonhosted.org/packages/d3/9e/49393e84e2f32e9eaebf027e67d21bfe4b0b7e4de3361c19fc9d19bfed79/necbol-2.1.3.tar.gz",
    "platform": null,
    "description": "# NECBOL [![PyPI Downloads](https://static.pepy.tech/badge/necbol)](https://pepy.tech/projects/necbol)\r\n\r\n**NECBOL** is a Python library that provides a geometry-first interface for building antenna models using the NEC (Numerical Electromagnetics Code) engine. \r\n\r\n## Features\r\n\r\n- **Component-based antenna construction**: Easily create antennas using predefined components.\r\n- **Flexible length units**: Specify antenna dimensions in mm, m, cm, ft or in as needed.\r\n- **Automatic wire joining**: Automatically connects wire ends to other wires, simplifying model creation.\r\n- **Flexible connector placement**: Add connectors between specific points on different objects.\r\n- **Configurable simulation parameters**: Set frequency, ground type, and pattern observation points.\r\n- **Current component library**: Helix, circular arc/loop, rectangular loop, straight wire, straight connector\r\n- **Easy to place**: feedpoint, series RLC load(s), prarallel RLC load(s) specified in ohms, uH and pF\r\n- **Easy to define meshed grids** which can also be joined edge to edge to create box structures (see the [car model](https://github.com/G1OJS/NECBOL/blob/main/example_handheld_in_a_car.py))\r\n- **Dielectric sheet model**: currently experimental, not validated, built in to a flat sheet geometry component\r\n- **Optimiser**: Optimise VSWR and / or Gain in a specified direction \r\n- **More coming soon**: See [next steps/future plans](https://github.com/G1OJS/NECBOL/blob/main/TO_DO.md)\r\n- **Extensible design**: It's written in Python, so you can use the core and add your own code\r\n- **Example files**: Simple dipole, Hentenna with reflector with example parameter sweep, Circular version of Skeleton Slot Cube with Optimiser code\r\n\r\n![Capture](https://github.com/user-attachments/assets/f8d57095-cbbd-4a02-9e40-2d81520a3799)\r\n\r\n## \ud83d\udee0 Installation\r\n\r\nInstall using pip: open a command window and type\r\n\r\n```\r\npip install necbol\r\n```\r\n## User Guide\r\nDocumentation is work in progress. In the meantime:\r\n\r\n* For a quick and basic overview, see the file [example_dipole_with_detailed_comments.py](https://github.com/G1OJS/NECBOL/blob/d22ee40ef966d9abb778667cd5b5979a98ed287b/example_dipole_with_detailed_comments.py) for a minimal explanation of how to use this framework.\r\n\r\n* There are several more example files in the [examples folder](https://github.com/G1OJS/NECBOL/tree/main/examples) intended to highlight different aspects of necbol and different ways of doing similar things. You can copy these examples and modify to see how they work, or start your own from scratch.\r\n\r\n* Automated documentation is [here](https://g1ojs.github.io/NECBOL/docs/user_functions.html)\r\n  \r\n* You can browse the source files in the [necbol folder](https://github.com/G1OJS/NECBOL/tree/main/necbol) (however note that they may be ahead of the release on pip).\r\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "A plain language Python wrapper for NEC",
    "version": "2.1.3",
    "project_urls": {
        "Homepage": "https://github.com/G1OJS/NECBOL",
        "Issues": "https://github.com/G1OJS/NECBOL/issues"
    },
    "split_keywords": [
        "nec",
        " antenna",
        " wire editor",
        " 3d",
        " electromagnetics",
        " ham radio",
        " radio",
        " optimisation"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "6acb408cce7b8403272b1741d43e5b9008603619e08b1328f4f8066860c63b0e",
                "md5": "83aafdac0ef92ee85ffa24c10d79e1e6",
                "sha256": "b2d9e720fcb5bc4b68b1ecab163c7223c7f9fa8fd5e7281b6dd8f70c112973ec"
            },
            "downloads": -1,
            "filename": "necbol-2.1.3-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "83aafdac0ef92ee85ffa24c10d79e1e6",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 22535,
            "upload_time": "2025-07-24T15:25:15",
            "upload_time_iso_8601": "2025-07-24T15:25:15.642942Z",
            "url": "https://files.pythonhosted.org/packages/6a/cb/408cce7b8403272b1741d43e5b9008603619e08b1328f4f8066860c63b0e/necbol-2.1.3-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "d39e49393e84e2f32e9eaebf027e67d21bfe4b0b7e4de3361c19fc9d19bfed79",
                "md5": "e1ede00ef9e413d9d0a070f5c55368d6",
                "sha256": "c595c967a1043b41dd779215015007ebeb9c23c431f69415c360d2433fc86e3e"
            },
            "downloads": -1,
            "filename": "necbol-2.1.3.tar.gz",
            "has_sig": false,
            "md5_digest": "e1ede00ef9e413d9d0a070f5c55368d6",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 100034,
            "upload_time": "2025-07-24T15:25:16",
            "upload_time_iso_8601": "2025-07-24T15:25:16.621106Z",
            "url": "https://files.pythonhosted.org/packages/d3/9e/49393e84e2f32e9eaebf027e67d21bfe4b0b7e4de3361c19fc9d19bfed79/necbol-2.1.3.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-24 15:25:16",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "G1OJS",
    "github_project": "NECBOL",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "necbol"
}
        
Elapsed time: 0.56087s