dwfpy


Namedwfpy JSON
Version 1.2.0 PyPI version JSON
download
home_pagehttps://github.com/mariusgreuel/dwfpy
SummaryPython Bindings for Digilent WaveForms API
upload_time2025-01-10 17:28:13
maintainerNone
docs_urlNone
authorMarius Greuel
requires_python>=3.8
licenseMIT
keywords digilent waveforms analog discovery digital discovery ad2 ad3
VCS
bugtrack_url
requirements numpy pylint mypy black build twine matplotlib sphinx sphinx-rtd-theme sphinx-autodoc-typehints
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Python Bindings for Digilent WaveForms API

![build](https://github.com/mariusgreuel/dwfpy/actions/workflows/build.yml/badge.svg)
![docs](https://readthedocs.org/projects/dwfpy/badge/?version=latest)

**DwfPy** is a Python package that allows you to access **Digilent WaveForms** devices via Python. It provides a low-level API with complete access to the Digilent WaveForms API, and also a simple but powerful high-level API, which allows you to configure WaveForms devices with a single statement.

For instance, to output a 1kHz sine-wave on an **Analog Discovery**, you can simply write:

```python
import dwfpy as dwf

with dwf.Device() as device:
    print('Generating a 1kHz sine wave on WaveGen channel 1...')
    device.analog_output['ch1'].setup('sine', frequency=1e3, amplitude=1, start=True)
    input('Press Enter key to exit.')
```

## Features

- Pythonic abstraction of Digilent Waveforms API.
- Low-level API with complete access to the Digilent Waveforms API.
- Powerful high-level API that supports one-line configuration statements.
- Supports all sub-modules, such as oscilloscope, arbitrary waveform generator, logic analyzer, pattern generator, digital I/O, and power supplies.
- Works with all WaveForms devices, such as the **Analog Discovery 2**, the **Analog Discovery 3**, or the **Digital Discovery**.

## Installing DwfPy

You can install the [DwfPy package](https://pypi.org/project/dwfpy/) from PyPI using pip:

```console
pip install dwfpy
```

In order to use the **DwfPy** package, you need **Python 3.8** or higher.

As **DwfPy** builds on top of the WaveForms API, you need to install the [WaveForms software][WaveForms-Software], which includes the required runtime components to access the WaveForms devices.

The source code for the **DwfPy** package can be found at GitHub at <https://github.com/mariusgreuel/dwfpy>.

## Examples

You can find Python examples using **DwfPy** in the dwfpy GitHub repository at <https://github.com/mariusgreuel/dwfpy/tree/main/examples>.

## Documentation

You can find the **DwfPy** user's guide at <https://dwfpy.readthedocs.io/>.

Detailed information about the Digilent Waveforms API is available from the [Digilent WaveForms SDK Reference Manual][WaveForms-SDK-Reference-Manual].

## Getting help

For issues with **DwfPy**, please visit the
[dwfpy issue tracker](https://github.com/mariusgreuel/dwfpy/issues).

[WaveForms]: https://digilent.com/shop/software/digilent-waveforms/
[WaveForms-Software]: https://digilent.com/reference/software/waveforms/waveforms-3/start
[WaveForms-SDK-Reference-Manual]: https://digilent.com/reference/_media/waveforms_sdk_reference_manual.pdf

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/mariusgreuel/dwfpy",
    "name": "dwfpy",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": "digilent, waveforms, analog discovery, digital discovery, ad2, ad3",
    "author": "Marius Greuel",
    "author_email": "greuelm@mgtek.com",
    "download_url": "https://files.pythonhosted.org/packages/ef/50/b8d7789d07b18fbff278311e2060070453d95c555d43913ef5574cb1e033/dwfpy-1.2.0.tar.gz",
    "platform": null,
    "description": "# Python Bindings for Digilent WaveForms API\n\n![build](https://github.com/mariusgreuel/dwfpy/actions/workflows/build.yml/badge.svg)\n![docs](https://readthedocs.org/projects/dwfpy/badge/?version=latest)\n\n**DwfPy** is a Python package that allows you to access **Digilent WaveForms** devices via Python. It provides a low-level API with complete access to the Digilent WaveForms API, and also a simple but powerful high-level API, which allows you to configure WaveForms devices with a single statement.\n\nFor instance, to output a 1kHz sine-wave on an **Analog Discovery**, you can simply write:\n\n```python\nimport dwfpy as dwf\n\nwith dwf.Device() as device:\n    print('Generating a 1kHz sine wave on WaveGen channel 1...')\n    device.analog_output['ch1'].setup('sine', frequency=1e3, amplitude=1, start=True)\n    input('Press Enter key to exit.')\n```\n\n## Features\n\n- Pythonic abstraction of Digilent Waveforms API.\n- Low-level API with complete access to the Digilent Waveforms API.\n- Powerful high-level API that supports one-line configuration statements.\n- Supports all sub-modules, such as oscilloscope, arbitrary waveform generator, logic analyzer, pattern generator, digital I/O, and power supplies.\n- Works with all WaveForms devices, such as the **Analog Discovery 2**, the **Analog Discovery 3**, or the **Digital Discovery**.\n\n## Installing DwfPy\n\nYou can install the [DwfPy package](https://pypi.org/project/dwfpy/) from PyPI using pip:\n\n```console\npip install dwfpy\n```\n\nIn order to use the **DwfPy** package, you need **Python 3.8** or higher.\n\nAs **DwfPy** builds on top of the WaveForms API, you need to install the [WaveForms software][WaveForms-Software], which includes the required runtime components to access the WaveForms devices.\n\nThe source code for the **DwfPy** package can be found at GitHub at <https://github.com/mariusgreuel/dwfpy>.\n\n## Examples\n\nYou can find Python examples using **DwfPy** in the dwfpy GitHub repository at <https://github.com/mariusgreuel/dwfpy/tree/main/examples>.\n\n## Documentation\n\nYou can find the **DwfPy** user's guide at <https://dwfpy.readthedocs.io/>.\n\nDetailed information about the Digilent Waveforms API is available from the [Digilent WaveForms SDK Reference Manual][WaveForms-SDK-Reference-Manual].\n\n## Getting help\n\nFor issues with **DwfPy**, please visit the\n[dwfpy issue tracker](https://github.com/mariusgreuel/dwfpy/issues).\n\n[WaveForms]: https://digilent.com/shop/software/digilent-waveforms/\n[WaveForms-Software]: https://digilent.com/reference/software/waveforms/waveforms-3/start\n[WaveForms-SDK-Reference-Manual]: https://digilent.com/reference/_media/waveforms_sdk_reference_manual.pdf\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Python Bindings for Digilent WaveForms API",
    "version": "1.2.0",
    "project_urls": {
        "Bug Tracker": "https://github.com/mariusgreuel/dwfpy/issues",
        "Homepage": "https://github.com/mariusgreuel/dwfpy"
    },
    "split_keywords": [
        "digilent",
        " waveforms",
        " analog discovery",
        " digital discovery",
        " ad2",
        " ad3"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "6a9fcfdfd28f507421b59db9cfd52e307bdbb96b948877132d9487d1741b7014",
                "md5": "d9f9544d7ee150652855a78374b274f7",
                "sha256": "fc313345bc1007f1e3c9ecef2ec9cc44713933b277e062fa0458bbf38c5d9c4a"
            },
            "downloads": -1,
            "filename": "dwfpy-1.2.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "d9f9544d7ee150652855a78374b274f7",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 59663,
            "upload_time": "2025-01-10T17:28:11",
            "upload_time_iso_8601": "2025-01-10T17:28:11.127289Z",
            "url": "https://files.pythonhosted.org/packages/6a/9f/cfdfd28f507421b59db9cfd52e307bdbb96b948877132d9487d1741b7014/dwfpy-1.2.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ef50b8d7789d07b18fbff278311e2060070453d95c555d43913ef5574cb1e033",
                "md5": "da68434ba22a2e04d1e009acd46c3491",
                "sha256": "83f2667700c84804cdeccace593442a6d49a0cd85ece88772fdcdfb9f3c331c9"
            },
            "downloads": -1,
            "filename": "dwfpy-1.2.0.tar.gz",
            "has_sig": false,
            "md5_digest": "da68434ba22a2e04d1e009acd46c3491",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 52362,
            "upload_time": "2025-01-10T17:28:13",
            "upload_time_iso_8601": "2025-01-10T17:28:13.072099Z",
            "url": "https://files.pythonhosted.org/packages/ef/50/b8d7789d07b18fbff278311e2060070453d95c555d43913ef5574cb1e033/dwfpy-1.2.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-01-10 17:28:13",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "mariusgreuel",
    "github_project": "dwfpy",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [
        {
            "name": "numpy",
            "specs": []
        },
        {
            "name": "pylint",
            "specs": []
        },
        {
            "name": "mypy",
            "specs": []
        },
        {
            "name": "black",
            "specs": []
        },
        {
            "name": "build",
            "specs": []
        },
        {
            "name": "twine",
            "specs": []
        },
        {
            "name": "matplotlib",
            "specs": []
        },
        {
            "name": "sphinx",
            "specs": []
        },
        {
            "name": "sphinx-rtd-theme",
            "specs": []
        },
        {
            "name": "sphinx-autodoc-typehints",
            "specs": []
        }
    ],
    "lcname": "dwfpy"
}
        
Elapsed time: 0.54522s