Skip to content

Commit

Permalink
Merge pull request #37 from pymeasure/v0.1.0-release
Browse files Browse the repository at this point in the history
V0.1.0 release notes
  • Loading branch information
BenediktBurger authored Feb 1, 2024
2 parents a20c977 + f88da5e commit 1dc6662
Show file tree
Hide file tree
Showing 2 changed files with 39 additions and 25 deletions.
31 changes: 24 additions & 7 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,19 +1,27 @@
# CHANGELOG

## Upcoming version
## [0.1.0] - 2024-02-01

### Changed

- Change message and protocols according to LECO change ([`9d74731da`](https://github.com/pymeasure/pyleco/commit/9d74731da06d147b1773f1f411bd943a36b4a83d))
- Coordinator has no `full_name` instead of `fname` ([`f3564c0`](https://github.com/pymeasure/pyleco/commit/f3564c08f04ed63bbab5b1100560e7b50239d83c)))
- Change message and protocols according to LECO change ([`9d74731da`](https://github.com/pymeasure/pyleco/commit/9d74731da06d147b1773f1f411bd943a36b4a83d)) (@BenediktBurger)
- Change Coordinator's `fname` to `full_name` ([`f3564c0`](https://github.com/pymeasure/pyleco/commit/f3564c08f04ed63bbab5b1100560e7b50239d83c)) (@BenediktBurger)

### Added
- Add compatibility with Python 3.9 ([`18abb87`](https://github.com/pymeasure/pyleco/commit/18abb87fea259f9e87411d88cca92a886bbd62b4))
- Add compatibility with Python 3.12 ([#22](https://github.com/pymeasure/pyleco/pull/22), @BenediktBurger)

- Add compatibility with Python 3.9 ([`18abb87`](https://github.com/pymeasure/pyleco/commit/18abb87fea259f9e87411d88cca92a886bbd62b4)) (@BenediktBurger)
- Add compatibility with Python 3.12 ([#22](https://github.com/pymeasure/pyleco/pull/22)) (@BenediktBurger)
- Add more tests.
- Add more functionality to internal protocol and test suite ([`42e107c5cb90`](https://github.com/pymeasure/pyleco/commit/42e107c5cb90704dbb99ef1c5a50be739f3acf85))
- Add Communicator functionality to the MessageHandler by distinguishing messages. (`9b0cc42`, `45913a5`, `97d902b`)
- Add more functionality to internal protocol and test suite ([`42e107c5cb90`](https://github.com/pymeasure/pyleco/commit/42e107c5cb90704dbb99ef1c5a50be739f3acf85)) (@BenediktBurger)
- Add Communicator functionality to the MessageHandler by distinguishing messages. (`9b0cc42`, `45913a5`, `97d902b`) (@BenediktBurger)
- Add CI for testing ([#22](https://github.com/pymeasure/pyleco/pull/22), [#7](https://github.com/pymeasure/pyleco/pull/7), #34, #29, #26) (@BenediktBurger)
- Add codecov code coverage calculation to CI ([#32](https://github.com/pymeasure/pyleco/pull/32)) (@BenediktBurger)
- Add `GETTING_STARTED.md` with a tutorial ([`000245b`](https://github.com/pymeasure/pyleco/commit/000245b7d693336a36b3f8bb5b0d0fe13a1bd6a7)) ([#24](https://github.com/pymeasure/pyleco/pull/24)) (@BenediktBurger, @bklebel)

### Removed

- **Breaking:** remove deprecated `Publisher` (use `DataPublisher` instead); move `Republisher` and `ExtendedPublisher` to pyleco-extras package ([#33](https://github.com/pymeasure/pyleco/pull/33)) (@BenediktBurger)
- **Breaking:** remove deprecated `call_method_rpc` and `call_method_rpc_async`

### Fixed

Expand All @@ -23,3 +31,12 @@
## [alpha-0.0.1] - 2023-12-12

_Initial alpha version, complies with [LECO protocol alpha-0.0.1](https://github.com/pymeasure/leco-protocol/releases/tag/alpha-0.0.1)_

### New Contributors

@BenediktBurger, @bilderbuchi, @bklebel


[unreleased]: https://github.com/pymeasure/pyleco/compare/v0.1.0...HEAD
[0.1.0]: https://github.com/pymeasure/pyleco/releases/tag/v0.1.0
[alpha-0.0.1]: https://github.com/pymeasure/pyleco/releases/tag/alpha-0.0.1
33 changes: 15 additions & 18 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# PyLECO

Python reference implementation of the Laboratory Experiment COntrol (LECO) protocol (https://github.com/pymeasure/leco-protocol).
Python reference implementation of the [Laboratory Experiment COntrol (LECO) protocol](https://github.com/pymeasure/leco-protocol).

The [reviewed branch](https://github.com/pymeasure/pyleco/tree/reviewed) contains reviewed code, which does not yet contain all necessary modules and classes.
Development happens in the [main](https://github.com/pymeasure/pyleco/tree/main) branch.
Expand All @@ -10,25 +10,17 @@ The LECO protocol branch [pyleco-state](https://github.com/pymeasure/leco-protoc
These things might change, if LECO defines them differently.

[![codecov](https://codecov.io/gh/pymeasure/pyleco/graph/badge.svg?token=9OB3GWDLRB)](https://codecov.io/gh/pymeasure/pyleco)
[![pypi release](https://img.shields.io/pypi/v/pyleco.svg)](https://pypi.org/project/pyleco/)
[![Common Changelog](https://common-changelog.org/badge.svg)](https://common-changelog.org)

For a tutorial on how to get started, see [GETTING_STARTED.md](GETTING_STARTED.md).
For a tutorial on how to get started, see [GETTING_STARTED.md](https://github.com/pymeasure/pyleco/blob/main/GETTING_STARTED.md).


## Installation
## Quick Start

For now, as PyLECO is not yet a PyPI / conda package, you have to clone this repository and install it manually.
Eventually it will be published as `pyleco` package on PyPI.
Execute `pip install` in this folder to install it.

If you did not clone the repository, you have to set the environment variable `SETUPTOOLS_SCM_PRETEND_VERSION`.
For example under windows, you have to run `set SETUPTOOLS_SCM_PRETEND_VERSION=0.0.1.dev` in the console before installing pyleco.

It is recommended to install the package editable, though.
That way, a file import will redirect to the files in this directory, however they will be at import time.
That allows to update PyLECO by just pulling the latest main branch, or to develop for PyLECO.
In order to do an editable install, execute `pip install -e .` in this folder.

The package is imported as `pyleco` in python files.
1. Install Python,
2. Execute `pip install pyleco`,
3. Import `pyleco` in your python scripts.


## LECO Overview
Expand Down Expand Up @@ -58,7 +50,7 @@ In order to set the output of that measurement instrument, you want to call the
For that purpose, you send a message which encodes exactly that (via jsonrpc): the method to call and the parameters of that method.


## Usage of the control protocol
## Usage of the Control Protocol

### Minimum Setup

Expand All @@ -77,7 +69,7 @@ connected_components = c.ask_rpc(method="send_local_components")
print(connected_components)
```

### Instrument control
### Instrument Control

Let's say you have an instrument with a pymeasure driver `Driver`, which you want to control.

Expand Down Expand Up @@ -120,3 +112,8 @@ See the docstrings of the individual classes for more information and for exampl
* The `directors` subpackage contains Directors, which facilitate controlling actors or management utilities.
* For example the `CoordinatorDirector` has a method for getting Coordinators and Components connected to a Coordinator.
* The `TransparentDirector` reads / writes all messages to the remote actor, such that you use the director's `device` as if it were the instrument itself.

### PyLECO extras

The [pyleco-extras](https://github.com/BenediktBurger/pyleco-extras) package contains additional modules.
Among them are GUIs controlling the `DataLogger` and the `Starter`.

0 comments on commit 1dc6662

Please sign in to comment.