From 565c8a5d843e2c5f7f29af216657b55064980c40 Mon Sep 17 00:00:00 2001 From: Benedikt Burger <67148916+BenediktBurger@users.noreply.github.com> Date: Thu, 1 Feb 2024 10:35:26 +0100 Subject: [PATCH 1/3] Reword readme for release. --- README.md | 33 +++++++++++++++------------------ 1 file changed, 15 insertions(+), 18 deletions(-) diff --git a/README.md b/README.md index 64e86046..40871250 100644 --- a/README.md +++ b/README.md @@ -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. @@ -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 @@ -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 @@ -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. @@ -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`. From 2904d72573a1a11f89fb9af99c631f9d2931ba3b Mon Sep 17 00:00:00 2001 From: Benedikt Burger <67148916+BenediktBurger@users.noreply.github.com> Date: Thu, 1 Feb 2024 10:35:38 +0100 Subject: [PATCH 2/3] Write Changelog for release. --- CHANGELOG.md | 31 ++++++++++++++++++++++++------- 1 file changed, 24 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1ad17077..5315a4ce 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,19 +1,27 @@ # CHANGELOG -## Upcoming version +## [0.1.0] - TBD ### 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 @@ -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 From f88da5e1bdb2b8dab3c89bd2f8dd9b4c3536861f Mon Sep 17 00:00:00 2001 From: Benedikt Burger <67148916+BenediktBurger@users.noreply.github.com> Date: Thu, 1 Feb 2024 18:13:23 +0100 Subject: [PATCH 3/3] Add date to changelog. --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5315a4ce..acc03206 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ # CHANGELOG -## [0.1.0] - TBD +## [0.1.0] - 2024-02-01 ### Changed