Jump to content
  • 0

Announcing pydwf 1.0 - a Python package for the Digilent Waveforms devices


Guest

Question


Hi all,

I am happy to announce version 1.0 of pydwf, a comprehensive Python package for using Digilent Waveforms devices from Python.

The pydwf package is fully open source and released under an MIT license.

The package works from Python 3.6 onwards, on any platform supported by Digilent (Windows, Linux, macOS).

Install it using pip3 like this:

$ pip3 install pydwf

The next step would be to look at the documentation, and perhaps run an example or two.

Some features

  • An easy-to-use, class-based API;
  • Pretty comprehensive documentation (with improvements planned);
  • Quite a few examples on how to use pydwf for some real-life applications;
  • A cool logo :-)

Alternatives

Alternatives to pydwf exist, such as using Python's ctypes module directly (which is what the Python examples provided by Digilent do), and the older "dwf" package (https://pypi.org/project/dwf/). I think pydwf is a lot nicer to use than either of these, and I hope you will agree.

Future work

  1. Most importantly, I want to keep up with new releases of the DWF C library as they come along.
  2. Next, I'd like to further improve the documentation, to include more information about what all the settings mean. The Digilent SDK is great, but its documentation does not go down to the nitty-gritty detail of explaining what each setting does precisely, which is something I miss. Through a combination of experimentation and asking on this forum, I hope to tackle this in the pydwf documentation.
  3. Lastly, I'd like to provide more examples, e.g. to clearly explain the correct way to use the different acquisition modes of the AnalogIn and DigitalIn instruments, to demonstrate the powerful but complex possibilities of analog and digital triggering, and so on.

Feedback

Please let me know if you use the pydwf package, if you're happy with it (or not), and if there's anything you want to see improved.

To report specific issues, please use the GitHub issue tracker.


I spent quite a bit of time on all of this over the past few years; three months ago I decided to bite the bullet and aim for a proper public release with documentation, examples, and all that. There are certainly areas where improvement is still possible, but as of now I think the package is of sufficient quality to be useful to people other than myself.

I hope the work will prove useful to some of you!

Best, Sidney
 

Edited by reddish
Link to comment
Share on other sites

0 answers to this question

Recommended Posts

There have been no answers to this question yet

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...