%global _empty_manifest_terminate_build 0
Name:		python-neogiinstruments
Version:	2.6.1
Release:	1
Summary:	Communication and helper functions for lab equipment
License:	MIT
URL:		https://pypi.org/project/neogiinstruments/
Source0:	https://mirrors.nju.edu.cn/pypi/web/packages/0c/66/167ad9d37351284ad807ce057edf6f6d3f05912c9317bbca600023220d5c/NeogiInstruments-2.6.1.tar.gz
BuildArch:	noarch

Requires:	python3-pyserial
Requires:	python3-nidaqmx
Requires:	python3-matplotlib
Requires:	python3-plotly
Requires:	python3-param
Requires:	python3-PyMeasure
Requires:	python3-pandas
Requires:	python3-scipy
Requires:	python3-tabulate
Requires:	python3-panel
Requires:	python3-pigpio
Requires:	python3-pyusb
Requires:	python3-Instrumental-lib
Requires:	python3-h5py
Requires:	python3-PyVISA-py
Requires:	python3-PyVISA

%description
# Instruments

Communication and helper functions for lab equipment  
If you're reading this, this is a WIP new class-based system of autodetecing instruments and exposing common APIs

## Creating instruments

1. individual files in neoginstruments will be seperate instruments
2. folders designate interchangeable instruments with common apis
    1. Each folder will result in automatic selection of a instrument
    2. Each folder will use and document an API
3. Each valid instruments file must have a
    1. name
    2. hwid: array of valid hardware IDs (for linux)
        1. use lsusb to get them. IE:"0403:FAF0"
        2. use "software" to create a virtual instrument
    3. instrument class
        1. Must accept the port as its only argument in `__init__`. You can get the serial with port.serial_number

## Using instruments

Example:

```
import neogiinstruments  
rotator = neogiinstruments.rotator("rotator1") #creates rotator named rotator1
rotator.instrument_selected = '55114654 - ttyUSB7 - K10CR1' 
rotator.instrument.home() #homes the rotator
rotator.update_to_serial()
```

Each module will return its respective instrument. Multiple distinct verisons of the same instrument can exist.   
You can either manually change instrument_selected or use `.view()` to make an interactive GUI.  
All functions of each instrument are avalible through the `.instrument` sub-object.
    

## Utilities
you can call port_table() to print a port table

%package -n python3-neogiinstruments
Summary:	Communication and helper functions for lab equipment
Provides:	python-neogiinstruments
BuildRequires:	python3-devel
BuildRequires:	python3-setuptools
BuildRequires:	python3-pip
%description -n python3-neogiinstruments
# Instruments

Communication and helper functions for lab equipment  
If you're reading this, this is a WIP new class-based system of autodetecing instruments and exposing common APIs

## Creating instruments

1. individual files in neoginstruments will be seperate instruments
2. folders designate interchangeable instruments with common apis
    1. Each folder will result in automatic selection of a instrument
    2. Each folder will use and document an API
3. Each valid instruments file must have a
    1. name
    2. hwid: array of valid hardware IDs (for linux)
        1. use lsusb to get them. IE:"0403:FAF0"
        2. use "software" to create a virtual instrument
    3. instrument class
        1. Must accept the port as its only argument in `__init__`. You can get the serial with port.serial_number

## Using instruments

Example:

```
import neogiinstruments  
rotator = neogiinstruments.rotator("rotator1") #creates rotator named rotator1
rotator.instrument_selected = '55114654 - ttyUSB7 - K10CR1' 
rotator.instrument.home() #homes the rotator
rotator.update_to_serial()
```

Each module will return its respective instrument. Multiple distinct verisons of the same instrument can exist.   
You can either manually change instrument_selected or use `.view()` to make an interactive GUI.  
All functions of each instrument are avalible through the `.instrument` sub-object.
    

## Utilities
you can call port_table() to print a port table

%package help
Summary:	Development documents and examples for neogiinstruments
Provides:	python3-neogiinstruments-doc
%description help
# Instruments

Communication and helper functions for lab equipment  
If you're reading this, this is a WIP new class-based system of autodetecing instruments and exposing common APIs

## Creating instruments

1. individual files in neoginstruments will be seperate instruments
2. folders designate interchangeable instruments with common apis
    1. Each folder will result in automatic selection of a instrument
    2. Each folder will use and document an API
3. Each valid instruments file must have a
    1. name
    2. hwid: array of valid hardware IDs (for linux)
        1. use lsusb to get them. IE:"0403:FAF0"
        2. use "software" to create a virtual instrument
    3. instrument class
        1. Must accept the port as its only argument in `__init__`. You can get the serial with port.serial_number

## Using instruments

Example:

```
import neogiinstruments  
rotator = neogiinstruments.rotator("rotator1") #creates rotator named rotator1
rotator.instrument_selected = '55114654 - ttyUSB7 - K10CR1' 
rotator.instrument.home() #homes the rotator
rotator.update_to_serial()
```

Each module will return its respective instrument. Multiple distinct verisons of the same instrument can exist.   
You can either manually change instrument_selected or use `.view()` to make an interactive GUI.  
All functions of each instrument are avalible through the `.instrument` sub-object.
    

## Utilities
you can call port_table() to print a port table

%prep
%autosetup -n neogiinstruments-2.6.1

%build
%py3_build

%install
%py3_install
install -d -m755 %{buildroot}/%{_pkgdocdir}
if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi
if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi
if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi
if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi
pushd %{buildroot}
if [ -d usr/lib ]; then
	find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst
fi
if [ -d usr/lib64 ]; then
	find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst
fi
if [ -d usr/bin ]; then
	find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst
fi
if [ -d usr/sbin ]; then
	find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst
fi
touch doclist.lst
if [ -d usr/share/man ]; then
	find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst
fi
popd
mv %{buildroot}/filelist.lst .
mv %{buildroot}/doclist.lst .

%files -n python3-neogiinstruments -f filelist.lst
%dir %{python3_sitelib}/*

%files help -f doclist.lst
%{_docdir}/*

%changelog
* Wed May 31 2023 Python_Bot <Python_Bot@openeuler.org> - 2.6.1-1
- Package Spec generated