semvec/pypi-packages huggingface dataset:
symphonai 0.2.4
A tool to build and run docker images together

<img src="docs/banner.png">

# SymphonAI
SymphonAI is a container intercommunication framework based on gRPC and docker compose that makes it easy to orchestrate AI pipelines or complex structures of multi-agent systems.

# Installation
1. Make sure docker and docker compose plugin are installed:

```bash
sudo apt install docker-ce docker-compose-plugin
```
2. install SymphonAI using pip
```bash
pip3 install git+https://github.com/svenschultze/symphonai
```
3. (OPTIONAL) You may need to add ~/.local/bin to you path by adding this line to your ~/.bashrc and restarting your shell
```bash
export PATH="$HOME/.local/bin:$PATH"
```

# Usage
1. Set up a new Project
```bash
mkdir myproject
cd myproject
sym setup
```
2. Create new nodes *sender* and *receiver* in environment **python3**
```bash
sym create sender python3
sym create receiver python3
```
3. Define the open procedures using the gRPC protobuffer format for each node. Only the node where the procedure is served needs to have to corresponding proto file.

*myproject/src/receiver/proto/receive.proto*
```proto
syntax = "proto3";

service Hello {
  // Sends a greeting
  rpc SayHello (HelloRequest) returns (HelloReply) {}
}

// The request message containing the user's name.
message HelloRequest {
  string name = 1;
}

// The response message containing the greetings
message HelloReply {
  string message = 1;
}
```
4. Build your environments
```bash
sym build
```
5. Now, setup the method and call in the node.py files:

*myproject/src/receiver/node.py*
```python3
import sym

@sym.method("Hello")
def SayHello(name):
    print("Received hello from", name)
    return {
        "message": f"Hello {name}!"
    }

sym.serve()
```

*myproject/src/sender/node.py*
```python3
import sym
import time

SayHello = sym.call("receiver", "Hello", "SayHello")

while True:
  time.sleep(1)
  result = SayHello(name="Sender")
  print(result)
```

6. Start your system
```bash
sym run
```
# Generating Documentation
To generate documentation for all .proto files, run:
```bash
sym docs
```
This will create documentation html files in mypackage/docs/*nodename*
periodogram 0.0.13
Simple periodogram manipulation in Python.

<!-- ![](docs/img.png) -->
<img src="https://raw.githubusercontent.com/danhey/periodogram/main/docs/img.png"  width="100%">

# Periodogram
Simple and tested periodogram normalizations for astronomical time-series

## Installation
```bash
pip install periodogram
```

## Usage

There are three types of normalizations available. The amplitude spectrum is normalized such that a sine wave of amplitude 1 will have a peak amplitude of 1. The power spectrum will have 1^2, and the power spectral density will have 1^2 * Tobs
```python
from periodogram import Periodogram

p = Periodogram.calculate(x, y, normalization='amplitude')
p.plot()
```


Lower-level functions for directly calculating different normalizations are also available
```python
from periodogram import amplitude_spectrum, psd, power_spectrum

frequency, amplitude = amplitude_spectrum(x, y)
```


<!-- [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.3629933.svg)](https://doi.org/10.5281/zenodo.3629933) -->
enalog-cli 0.1.1
EnaLog CLI
Requires Python: >=3.9,<4.0

# EnaLog CLI

## Installation

`pip install --user enalog-cli`

## Usage

* Pushing an event to EnaLog: 
```sh
enalog push --api-token=<api-token> --event='{"project":"<project-name>","name":"<event-name>","push":false}'
```