<!-- Joulescope Driver documentation master file, created by
sphinx-quickstart on Fri Mar  6 16:24:09 2020.
You can adapt this file completely to your liking, but it should at least
contain the root `toctree` directive. -->

# pyjoulescope

[![image](https://download.joulescope.com/press/joulescope_logo-PNG-Transparent-Exact-Small.png)](https://download.joulescope.com/press/joulescope_logo-PNG-Transparent-Exact-Small.png)

The most affordable and easy-to-use precision DC energy analyzer.

Version  ([Installation](https://docs.joulescope.com/en/software/pyjoulescope/user/install.md#install))

[![image](https://pepy.tech/badge/joulescope)](https://pypi.org/project/joulescope/)[![image](https://img.shields.io/pypi/l/joulescope.svg)](https://pypi.org/project/joulescope/)[![image](https://img.shields.io/pypi/wheel/joulescope.svg)](https://pypi.org/project/joulescope/)[![image](https://img.shields.io/pypi/pyversions/joulescope.svg)](https://pypi.org/project/joulescope/)

---

Welcome to the Joulescope™ driver’s documentation.  This driver enables you to
automate Joulescope operation and easily measure current, voltage, power and
energy within your own Python programs on Windows,
Linux, and macOS.
With the Joulescope driver, controlling your Joulescope is easy.  This
example captures 0.1 seconds of data and then prints the average current
and voltage:

```default
import joulescope
import numpy as np
with joulescope.scan_require_one(config='auto') as js:
    data = js.read(contiguous_duration=0.1)
current, voltage = np.mean(data, axis=0, dtype=np.float64)
print(f'{current} A, {voltage} V')
```

Visit [joulescope.com](https://joulescope.com) to purchase a Joulescope.
You can also [download](https://joulescope.com/download) the Joulescope UI.

In addition to this documentation, you can:

* Visit the [Joulescope support page](https://www.joulescope.com/pages/support)
* Read the [Joulescope User’s Guide](http://download.joulescope.com/docs/JoulescopeUsersGuide/index.html)
* Visit the [Joulescope forum](https://forum.joulescope.com/)
* Submit issues on [GitHub](https://github.com/jetperch/pyjoulescope/issues)

## Table of Contents

* [User Guide](https://docs.joulescope.com/en/software/pyjoulescope/user/index.md)
  * [Introduction](https://docs.joulescope.com/en/software/pyjoulescope/user/intro.md)
  * [Installation](https://docs.joulescope.com/en/software/pyjoulescope/user/install.md)
  * [Quick Start Guide](https://docs.joulescope.com/en/software/pyjoulescope/user/quickstart.md)
  * [License](https://docs.joulescope.com/en/software/pyjoulescope/user/license.md)
  * [CHANGELOG](https://docs.joulescope.com/en/software/pyjoulescope/user/changelog.md)
* [API Guide](https://docs.joulescope.com/en/software/pyjoulescope/api/index.md)
  * [Device Discovery](https://docs.joulescope.com/en/software/pyjoulescope/api/discovery.md)
  * [Device](https://docs.joulescope.com/en/software/pyjoulescope/api/device.md)
  * [Stream Buffer API](https://docs.joulescope.com/en/software/pyjoulescope/api/stream_buffer.md)
  * [Stream Process API](https://docs.joulescope.com/en/software/pyjoulescope/api/streaming.md)
  * [Statistics API](https://docs.joulescope.com/en/software/pyjoulescope/api/statistics.md)
  * [Data File Module](https://docs.joulescope.com/en/software/pyjoulescope/api/datafile.md)
  * [Data Recorder Module](https://docs.joulescope.com/en/software/pyjoulescope/api/data_recorder.md)
  * [View](https://docs.joulescope.com/en/software/pyjoulescope/api/view.md)
  * [Transition to v1](https://docs.joulescope.com/en/software/pyjoulescope/api/transition_to_v1.md)

## Indices and tables

* [Index](https://docs.joulescope.com/en/genindex.html)
* [Module Index](https://docs.joulescope.com/en/py-modindex.html)
* [Search Page](https://docs.joulescope.com/en/search.html)
