semvec/pypi-packages huggingface dataset:
pyC4Room 1.0.0
Forked Python 3 asyncio package for interacting with Control4 systems and includes room support
Requires Python: >=3.6

# pyControl4

Note: This is a fork of the original pycontrol4 library. This version is a forked version that supports room manipulation

An asynchronous library to interact with Control4 systems through their built-in REST API. This is known to work on controllers with OS 2.10.1.544795-res and OS 3.0+. 


For those who are looking for a pre-built solution for controlling their devices, this library is implemented in the [official Home Assistant Control4 integration](https://www.home-assistant.io/integrations/control4/).

## Usage example
```python
from pyControl4.account import C4Account
from pyControl4.director import C4Director
from pyControl4.light import C4Light
import asyncio
import json

username = ""
password = ""

ip = "192.168.1.25"

"""Authenticate with Control4 account"""
account = C4Account(username, password)
asyncio.run(account.getAccountBearerToken())

"""Get and print controller name"""
accountControllers = asyncio.run(account.getAccountControllers())
print(accountControllers["controllerCommonName"])

"""Get bearer token to communicate with controller locally"""
director_bearer_token = asyncio.run(
    account.getDirectorBearerToken(accountControllers["controllerCommonName"])
)["token"]

"""Create new C4Director instance"""
director = C4Director(ip, director_bearer_token)

"""Print all devices on the controller"""
print(asyncio.run(director.getAllItemInfo()))

"""Create new C4Light instance"""
light = C4Light(director, 253)

"""Ramp light level to 10% over 10000ms"""
asyncio.run(light.rampToLevel(10, 10000))

"""Print state of light"""
print(asyncio.run(light.getState()))
```

## Contributing
Pull requests are welcome! Please lint your Python code with `flake8` and format it with [Black](https://pypi.org/project/black/).

## Disclaimer
This library is not affiliated with or endorsed by Control4.
pyControl4-room 1.0.0
Forked Python 3 asyncio package for interacting with Control4 systems and includes room support
Requires Python: >=3.6

# pyControl4

Note: This is a fork of the original pycontrol4 library. This version is a forked version that supports room manipulation

An asynchronous library to interact with Control4 systems through their built-in REST API. This is known to work on controllers with OS 2.10.1.544795-res and OS 3.0+. 


For those who are looking for a pre-built solution for controlling their devices, this library is implemented in the [official Home Assistant Control4 integration](https://www.home-assistant.io/integrations/control4/).

## Usage example
```python
from pyControl4.account import C4Account
from pyControl4.director import C4Director
from pyControl4.light import C4Light
import asyncio
import json

username = ""
password = ""

ip = "192.168.1.25"

"""Authenticate with Control4 account"""
account = C4Account(username, password)
asyncio.run(account.getAccountBearerToken())

"""Get and print controller name"""
accountControllers = asyncio.run(account.getAccountControllers())
print(accountControllers["controllerCommonName"])

"""Get bearer token to communicate with controller locally"""
director_bearer_token = asyncio.run(
    account.getDirectorBearerToken(accountControllers["controllerCommonName"])
)["token"]

"""Create new C4Director instance"""
director = C4Director(ip, director_bearer_token)

"""Print all devices on the controller"""
print(asyncio.run(director.getAllItemInfo()))

"""Create new C4Light instance"""
light = C4Light(director, 253)

"""Ramp light level to 10% over 10000ms"""
asyncio.run(light.rampToLevel(10, 10000))

"""Print state of light"""
print(asyncio.run(light.getState()))
```

## Contributing
Pull requests are welcome! Please lint your Python code with `flake8` and format it with [Black](https://pypi.org/project/black/).

## Disclaimer
This library is not affiliated with or endorsed by Control4.
azcam-ds9 22.3.2
Azcam extension for SAO's ds9 image display
Keywords: ccd,imaging,astronomy,sensors

# azcam-ds9

## Purpose

*azcam-ds9* is an *azcam extension* which supports SAO's ds9 display tool running under Windows. See https://sites.google.com/cfa.harvard.edu/saoimageds9.

See https://github.com/mplesser/azcam-ds9-winsupport for support code which may be helpful when displaying images on Windows computers

## Display Class
This class defines Azcam's image display interface to SAO's ds9 image display. 
It is usually instantiated as the *display* object for both server and clients.

Depending on system configuration, the *display* object may be available 
directly from the command line, e.g. `display.display("test.fits")`.

Usage Example:

```python
from azcam_ds9.ds9display import Ds9Display
display = Ds9Display()
display.display("test.fits")
rois = display.get_rois(0, "detector")
print(rois)
```

## Installation

`pip install azcam-ds9`

Or download from github: https://github.com/mplesser/azcam-ds9.git.

## Code Documentation

https://mplesser.github.io/azcam-ds9

## Notes

It may be helpful to remove all associations of .fits files in the registry and then only
execute the above batch files.  Do not directly associate .fits files with ds9.exe.
azcam-monitor 22.3.2
Azcam monitoring application
Keywords: ccd,imaging,astronomy,sensors

# azcam-monitor

*azcam-monitor* is an *azcam* extension app used to monitor and control *azcam* processes on the local network.

## Installation

`pip install azcam-monitor`

Or download from github: https://github.com/mplesser/azcam-monitor.git.

## Startup and configuration

Run the app from its folder, it is not a python package.

Example:

``azcammonitor.py -configfile \somefolder\parameters_monitor_example.ini``

## Credits

Orginally written by Grzegorz Zareba.

Maintained by Michael Lesser.
azcam-mag 22.3.2
Azcam extension for OCIW Magellan ITL camera controllers
Keywords: ccd,imaging,astronomy,sensors

# azcam-mag

*azcam-mag* is an *azcam* extension for OCIW Magellan CCD controllers (ITL version). See http://instrumentation.obs.carnegiescience.edu/ccd/gcam.html.

## Installation

`pip install azcam-mag`

Or download from github: https://github.com/mplesser/azcam-mag.git.

## Example Code

The code below is for example only.

### Controller

```python
import azcam.server
from azcam_mag.controller_mag import ControllerMag
controller = ControllerMag()
controller.camserver.set_server("some_machine", 2402)
controller.timing_file = os.path.join(azcam.db.datafolder, "dspcode/gcam_ccd57.s")
```
### Exposure

```python
import azcam.server
from azcam_mag.exposure_mag import ExposureMag
exposure = ExposureMag()
filetype = "BIN"
exposure.filetype = exposure.filetypes[filetype]
exposure.image.filetype = exposure.filetypes[filetype]
exposure.display_image = 1
exposure.image.remote_imageserver_flag = 0
exposure.set_filename("/azcam/soguider/image.bin")
exposure.test_image = 0
exposure.root = "image"
exposure.display_image = 0
exposure.image.make_lockfile = 1
```

## Camera Servers

*Camera servers* are separate executable programs which manage direct interaction with controller hardware on some systems. Communication with a camera server takes place over a socket via communication protocols defined between *azcam* and a specific camera server program. These camera servers are necessary when specialized drivers for the camera hardware are required.  They are usually written in C/C++. 

## DSP Code

The DSP code which runs in Magellan controllers is assembled and linked with
Motorola software tools. These tools should be installed in the folder `/azcam/motoroladsptools/` on Windows machines, as required by the batch files which assemble and link the code.

For Magellan systems, there is only one DSP file which is downloaded during initialization. 

Note that *xxx.s* files are loaded for the Magellan systems.
azcam-focus 22.3.2
Azcam extension to control focus observations used to determine optimal instrument or telescope focus positions
Keywords: ccd,imaging,astronomy,sensors

# azcam-focus

*azcam-focus* is an *azcam* extension to control focus observations used to determine optimal instrument or telescope focus position.

This code is usually executed in the console window although a server-side version is available on some systems.

`focus` is an instance of the *Focus* class.

## Code Documentation

See https://mplesser.github.io/azcam_focus/.

## Installation

`pip install azcam-focus`

Or download from github: https://github.com/mplesser/azcam-focus.git.

## Code Examples

`focus.command(parameters...)`

```python
focus.set_pars(1, 30, 10)  
focus.run()
```

## Parameters

Parameters may be changed from the command line as:
`focus.number_exposures=7`
or
`focus.set_pars(1.0, 5, 25, 15)`.

<dl>
  <dt><strong>focus.number_exposures = 7</strong></dt>
  <dd>Number of exposures in focus sequence</dd>

  <dt><strong>focus.focus_step = 30</strong></dt>
  <dd>Number of focus steps between each exposure in a frame</dd>

  <dt><strong>focus.detector_shift = 10</strong></dt>
  <dd>Number of rows to shift detector for each focus step</dd>

  <dt><strong>focus.focus_position</strong></dt>
  <dd>Current focus position</dd>

  <dt><strong>focus.exposure_time = 1.0</strong></dt>
  <dd>Exposure time (seconds)</dd>

  <dt><strong>focus.focus_component = "instrument"</strong></dt>
  <dd>Focus component for motion - "instrument" or "telescope"</dd>

  <dt><strong>focus.focus_type = "absolute"</strong></dt>
  <dd>Focus type, "absolute" or "step"</dd>

  <dt><strong>focus.set_pars_called = 1</strong></dt>
  <dd>Flag to not prompt for focus position</dd>

  <dt><strong>focus.move_delay = 3</strong></dt>
  <dd>Delay in seconds between focus moves</dd>
</dl>
azcam-cryocon 22.3.2
Azcam extension for Cryo-con temperature controllers
Keywords: ccd,imaging,astronomy,sensors

# azcam-cryocon

*azcam-cryocon* is an *azcam* extension for Cryogenic Control Systems Inc. (cryo-con) temperature controllers. See http://www.cryocon.com/.

## Installation

`pip install azcam-cryocon`

Or download from github: https://github.com/mplesser/azcam-cryocon.git.

## Example Code

The code below is for example only.

### Temperature Controller

```python
import azcam.server
from azcam_cryocon.tempcon_cryocon24 import TempConCryoCon24
tempcon = TempConCryoCon24()
tempcon.description = "cryoconqb"
tempcon.host = "10.0.0.44"
tempcon.control_temperature = -100.0
tempcon.init_commands = [
"input A:units C",
"input B:units C",
"input C:units C",
"input A:isenix 2",
"input B:isenix 2",
"input C:isenix 2",
"loop 1:type pid",
"loop 1:range mid",
"loop 1:maxpwr 100",
]
```
azcam-archon 22.3.2
Azcam extension for Semiconductor Technology Associates (STA) Archon controllers
Keywords: ccd,imaging,astronomy,sensors

# azcam-archon

*azcam-archon* is an *azcam* extension for STA Archon controllers. See http://www.sta-inc.net/archon/.

## Installation

`pip install azcam-archon`

Or download from github: https://github.com/mplesser/azcam-archon.git.

## Example Code

The code below is for example only.

### Controller
```python
import azcam.server
from azcam_archon.controller_archon import ControllerArchon
controller = ControllerArchon()
controller.camserver.port = 4242
controller.camserver.host = "10.0.2.10"
controller.header.set_keyword("DEWAR", "ITL1", "Dewar name")
controller.timing_file = os.path.join(
    azcam.db.systemfolder, "archon_code", "ITL1_STA3800C_Master.acf"
)
```

### Exposure
```python
import azcam.server
from azcam_archon.exposure_archon import ExposureArchon
exposure = ExposureArchon()
filetype = "MEF"
exposure.fileconverter.set_detector_config(detector_sta3800)
exposure.filetype = azcam.db.filetypes[filetype]
exposure.image.filetype = azcam.db.filetypes[filetype]
exposure.display_image = 1
exposure.image.remote_imageserver_flag = 0
exposure.add_extensions = 1
```