semvec/pypi-packages huggingface dataset:
portrait 0.0.5b0
Compute and visualize observations phase coverage
Requires Python: >=3.8
Keywords: astronomy, image processing, jax

# portrait

<p align="center">
    <img src="docs/_static/portrait.png" height="200">
</p>

<p align="center">
  Observation metrics for periodic events
  <br>
  <p align="center">
    <a href="https://github.com/lgrcia/portrait">
      <img src="https://img.shields.io/badge/github-lgrcia/portrait-blue.svg?style=flat" alt="github"/></a>
    <a href="">
      <img src="https://img.shields.io/badge/license-MIT-lightgray.svg?style=flat" alt="license"/></a>
    <a href="https://portrait.readthedocs.io">
      <img src="https://img.shields.io/badge/documentation-black.svg?style=flat" alt="documentation"/></a>
  </p>
</p>

A Python package to compute and visualize observation metrics for periodic events.

In Astronomy, *portrait* is useful to answer the following questions:
- How much of an orbit with period $P$ has been observed given certain observation times? ([tutorial](https://portrait.readthedocs.io/en/latest/coverage.html))
- What period $P$ matches with this list of events? ([tutorial](https://portrait.readthedocs.io/en/latest/periodmatch.html))
- How a certain target must be observed to cover all orbits with periods lower than $P$ days?

Documentation at [portrait.readthedocs.io](https://portrait.readthedocs.io)

## Example
Given the range of periods you want to cover, here is how to compute the amout of phase covered by your observation times
```python
from portrait import coverage

time = ... # your observation times
periods = np.linspace(0.1, 10, 2000)

covered = coverage(times)(periods) 
```
And plotting it with `matplotlib`
```python
import matplotlib.pyplot as plt

plt.subplot(111, xlabel="periods", ylabel="coverage")
plt.plot(periods, covered, c="0.5")
```

![image](https://github.com/lgrcia/portrait/assets/20612771/b1fdf523-c0ea-41fe-9b9f-246c9f77d7e6)

## Installation

```bash
pip install portrait
```
pynet-scanner 0.1.1
A package for discovering clients in a local network.
Requires Python: >=3.6

# Network Scanner

Network Scanner is a Python package for discovering clients in your local network. It provides a simple interface to scan for devices and retrieve information such as hostname and IP address.

## Installation

You can install the package via pip:

```bash
pip install pynet_scanner
```

## Usage

```
from pynet_scanner import NetworkScanner

# Create a NetworkScanner instance
scanner = NetworkScanner()

# Discover clients in the local network
clients = scanner.discover_clients()

# Print information about each discovered client
for client in clients:
    print(client)
```

## Features

- Scan for clients in the local network using `NetworkScanner` class.
- Supports both Windows and Linux platforms.
- Retrieves hostname and IP address for each discovered client.

## Dependencies
The package relies on the following dependencies:

- `nmap`: Used for network scanning on Linux platforms.

## Contributing
Contributions are welcome! If you find any bugs or have suggestions for improvements, please open an issue or submit a pull request.

## License
This project is licensed under the MIT License. See the LICENSE file for details.