Skip to main content

Python client for naneos particle solutions gmbh devices.

Project description

naneos-devices (python toolkit)

License Python GitHub Issues GitHub Pull Requests

Naneos Logo

This repository contains a collection of Python scripts and utilities for our naneos measurement devices. These scripts will provide various functionalities related to data acquisition, analysis, and visualization for your measurement devices.

Installation

You can install the naneos-devices package using pip. Make sure you have Python 3.9 or higher installed. Open a terminal and run the following command:

pip install naneos-devices

Usage

To establish a serial connection with the Partector2 device and retrieve data, you can use the following code snippet as a starting point:

import time

from naneos.partector import Partector1, Partector2, scan_for_serial_partectors

# Lists all available Partector2 devices
x = scan_for_serial_partectors()

# Split dictionary into P1 and P2 devices
p1_devs = x["P1"]
p2_devs = x["P2"]

if len(p1_devs) > 0:
    print("Found Partector1 devices:")
    for k, v in p1_devs.items():
        print(f"Serial number: {k}, Port: {v}")

    # Connect to the first device
    myP1 = Partector1(list(p1_devs.values())[0], 1)
    time.sleep(2)

    # Get the data as a pandas DataFrame
    data = myP1.get_data_pandas()
    print(data)

    myP1.close()

if len(p2_devs) > 0:
    print("Found Partector2 devices:")
    for k, v in p2_devs.items():
        print(f"Serial number: {k}, Port: {v}")

    # Connect to the first device
    myP2 = Partector2(list(p2_devs.values())[0], 1)
    time.sleep(2)

    # Get the data as a pandas DataFrame
    data = myP2.get_data_pandas()
    print(data)

    myP2.close()

Make sure to modify the code according to your specific requirements. Refer to the documentation and comments within the code for detailed explanations and usage instructions.

Documentation

The documentation for the naneos-devices package can be found in the package's documentation page.

Important commands when working locall with tox

tox -e clean #cleans the dist and docs/_build folder
tox -e build #builds the package based on the last tag
pipenv install -e . #installs the locally builded package

tox -e docs #generates the documentation
$
tox -e publish  # to test your project uploads correctly in test.pypi.org
tox -e publish -- --repository pypi  # to release your package to PyPI

tox -av  # to list all the tasks available

It's recommended to use a .pypirc file to store your credentials. See here for more information.

Protobuf

Use this command to create a py and pyi file from the proto file

protoc -I=. --python_out=. --pyi_out=. ./protoV1.proto 

Building executables

Sometimes you want to build an executable for a customer with you custom script. The build must happen on the same OS as the target OS. For example if you want to build an executable for windows you need to build it on Windows.

pyinstaller demo/p1UploadTool.py  --console --noconfirm --clean --onefile

Ideas for future development

  • P2 BLE implementation that integrates into the implementation of the serial P2$
  • P2 Bidirectional Implementation that allows to send commands to the P2
  • Automatically activate Bluetooth or ask when BLE is used

Contributing

Contributions are welcome! If you encounter any issues or have suggestions for improvements, please submit an issue on the issue tracker. If you'd like to contribute code, please follow the guidelines mentioned in the CONTRIBUTING file.

Please make sure to adhere to the coding style and conventions used in the repository and provide appropriate tests and documentation for your changes.

License

This repository is licensed under the MIT License.

Acknowledgments

If you would like to acknowledge any individuals, organizations, or resources that have been helpful to your project, you can include them in this section.

Contact

For any questions, suggestions, or collaborations, please feel free to contact the project maintainer:

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

naneos-devices-0.7.2.tar.gz (84.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

naneos_devices-0.7.2-py3-none-any.whl (24.8 kB view details)

Uploaded Python 3

File details

Details for the file naneos-devices-0.7.2.tar.gz.

File metadata

  • Download URL: naneos-devices-0.7.2.tar.gz
  • Upload date:
  • Size: 84.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.4

File hashes

Hashes for naneos-devices-0.7.2.tar.gz
Algorithm Hash digest
SHA256 4c2d68dc1ad8bf2289d139eaad11fea4d7f5ce3944c9a1e7e1c969fad1c865f4
MD5 f7a59160050e76e86a114a61cbec307b
BLAKE2b-256 c355dd0901ef0b196d13cd77d1d72ce43cef96dc8d0a31a78f2e33b4ffc4f2bd

See more details on using hashes here.

File details

Details for the file naneos_devices-0.7.2-py3-none-any.whl.

File metadata

  • Download URL: naneos_devices-0.7.2-py3-none-any.whl
  • Upload date:
  • Size: 24.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.4

File hashes

Hashes for naneos_devices-0.7.2-py3-none-any.whl
Algorithm Hash digest
SHA256 f5ee52b0edd34fd84e1b68a8094d9ed2eedf03c429f3621fc926a7ffcdb979bc
MD5 569868fa9344a2277aa86175a86254cb
BLAKE2b-256 f9c0fbf23b4a3c745536d248aea42f64e3d440e0dac3ed0d5fb11433a115fc0a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page