semvec/pypi-packages huggingface dataset:
moonlightplt 0.2.2
Matplotlib wave plotting and animation made easy

# Moonlight
Matplotlib wave plotting and animation made easy

## Installation
- For pip release - `pip install moonlight`
- For source build - 
```bash
git clone https://github.com/CharlesAverill/moonlight.git moonlight
cd moonlight
python setup.py install
```

## Usage
```python
from moonlight import waves, utils

# Create a damped Sine wave with amplitude, period 2
sine = waves.Sine(amplitude=2, period=2,
                    decay_constant=.25)

# Set range of plot
utils.x_range(-3, 3)
utils.y_range(-4, 4)

# Move axes to center
utils.center_axes()

# Plot 2 periods of the wave (static)
sine.plot(2)
```
![Resulting plot](https://raw.githubusercontent.com/CharlesAverill/moonlight/main/media/readme_sine_wave.png)

### Animation
Waves can also be animated! Just replace `<wave_object>.plot()` with `<wave_object>.animate()`!
#### `animate` parameters
- `speed` - The speed at which the animation will play. Some waves have their default speed adjusted
so that animation can be seen easily. 
    - When combining a `Square` or `Sawtooth` wave with 
    a `Sine` or `Cosine` wave, the sum of the functions naturally grows at an incredibly slow rate, so `speed`
    should be set to a multiple of `10**14` to be able to view animations properly.
- `line_width` - Sets line width
- `framerate` - Measured in ms, this is the time gap between two frames being displayed. Default is 17ms or ~60fps.


## Supported Waves
- `Sine`
- `Cosine`
- `Square`
- `Sawtooth`
- `Wave` - This is a parent class for the 
previous waves. Custom waves can be implemented by
inheriting this class.

### Wave parameters
- `amplitude: float = 1` - Initial wave amplitude
- `period: float = <varies by wave>` - Period of wave
- `offsets: Tuple(float [x], float [y]) = (0, 0)` - X- and Y- offsets of the wave
- `decay_constant: float = 0` - If nonzero, function will decay according to `e^(-<decay>x)wavefunc(x)`. Trig functions only.
- `resolution: int = 500` - Number of x-values that will be generated upon graphing.

## Wave operators
Waves can be operated on by each other and by scalar values.
```python
from moonlight.waves import Sine

s1 = Sine()
s2 = Sine(amplitude=2)

add_waves = s1 + s2 # sin(x) + 2sin(x) = 3sin(x)
add_scalar = s1 + 3 # sin(x) + 3

sub_waves = s1 - s2 # sin(x) - 2sin(x) = -sin(x)
sub_scalar = s1 - 3 # sin(x) - 3

mul_waves = s1 * s2 # sin(x) * 2sin(x) = 2sin(x)^2
mul_scalar = s1 * 3 # sin(x) * 3 = 3sin(x)

div_waves = s1 / s2 # sin(x) / 2sin(x) = 1/2
div_scalar = s1 / 3 # sin(x) / 3 = (1/3)sin(x)

call_waves = s1(s2) # sin(2sin(x))
call_scalar = s1(3) # sin(3) ≈ .14112
```
web3login 0.0.5
Moonstream: Open source Web3 authorization library
Requires Python: >=3.8

# web3login python

Open source Web3 authorization Python library.

## CLI

### Generate the signature

```bash
web3login authorize \
    --application "<your_application_name_or_any_string>" \
    --deadline "<unix_timestamp_until_signature_will_be_active>" \
    --signer .secrets/keyfile -p "${KEYFILE_PASSWORD}" | base64 -w 0
```

Output base64 string could be passed as `Authorization` header or verified with CLI.

### Verify the signature

```bash
web3login verify \
    --application "<your_application_name_or_any_string>" \
    --payload "${GENERATED_BASE64_SIGNATURE}"
```
filestostorage 0.0.2.7
package for file storage
Keywords: mongodb,store files,database,store,file,ngit,mongo,kmit

This package is used to store files in mongodb
### filestostorage

##### Packages included
`$ pip install pymongo`
For connecting python to mongodb
`$ pip install gridfs-fuse`
For performing read/write operations on mongodb

#### Installation
`$ pip install filestostorage`
NOTE:This package currently supports upto Python version 3.9

Project is still under development  :)
Currently supported for storing files in mongodb

#### Usage


##### Import statement:
```import filestostorage as ft```

##### Mongo Connection
Create a Database object
```db = ft.mongo_conn()```
This function will prompt to Enter MongoUrl
##### Upload File
To upload file use the below command
```ft.upload_file("FILE PATH","FILENAME",db)```

```ft.upload_file("/Users/Desktop/test/image1.jpeg","file_name",db)```
##### Download File
To download_files use the below command:
```ft.download_file("DOWNLOAD LOCATION","FILE NAME",db)```

```ft.download_file("/Users/Desktop/myimage.jpeg","file_name",db)```
 In 2nd parameter use the same file name which was used while uploading the file
 
##### Overall
```

import filestostorage as ft

db = ft.mongo_conn()   #connect to database via url

ft.upload_file("file_path","file_name",db) #command to upload file

ft.download_file("download_location","file_name(same as upload)",db)#command to download file
```