semvec/pypi-packages huggingface dataset:
scpapi 0.0.7
The SCP API for Python
Requires Python: >=3.9

### Prerequisite

Python 3.9+


### Example
```
import json
from scpapi import Client
from scpapi.resource.virtual_server import VirtualServer


### First create a client with your credentials ###
client = Client(
    project_id='PROJECT-XXXXXXXXXX',
    access_key='XXXXXXXXXX',
    secret_key='XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
)
### Create a virtual server with created client ###
virtual_server = VirtualServer(client=client)

### List of Virtual Server ###
vm_list = json.loads(virtual_server.list().text)
print(vm_list['contents'])

### Create a Virtual Server ###
virtual_server_body = {
    'virtualServerName': 'slurm-head',
    'blockStorage': {
        'blockStorageName': 'root',
        'diskSize': 100,
        'encryptEnabled': False,
        'diskType': 'SSD'
    },
    'imageId': 'IMAGE-XXXXXXXXXXXXXXXXXXXX',
    'nic': {
        'subnetId': 'SUBNET-XXXXXXXXXXXXXXXXXXXX',
        'natEnabled': True,
        'publicIpId' : 'PUBLIC_IP-XXXXXXXXXXXXXXXXXXXX'
    },
    'deletionProtectionEnabled': False,
    'securityGroupIds': ['FIREWALL_SECURITY_GROUP-XXXXXXXXXX'],
    'serverType': 's1v2m4',
    'serviceZoneId': 'ZONE-XXXXXXXXXXXXXXXXXXXX',
    'serverGroupId': 'SERVICE-XXXXXXXXXXXXXXXXXXXX',
    'tags': [
        {'tagKey': 'cluster-name', 'tagValue': 'slurm-cluster'},
    ],
    'keyPairId': 'KEY_PAIR-XXXXXXXXXXXXXXXXXXXX'
}

print(virtual_server.create(body=virtual_server_body).text)
```

I will continue to add features.
gcode2dplotterart 2.0.3
A Python library for creating 2D plotter art using GCode
Requires Python: >=3.8

![https://pypi.org/project/gcode2dplotterart/](https://img.shields.io/pypi/dm/gcode2dplotterart.svg)
![PyPI - Downloads](https://img.shields.io/pypi/dw/gcode2dplotterart)
![GitHub](https://img.shields.io/github/license/TravisBumgarner/gcode2dplotterart?logo=github)
![pypi Version](https://img.shields.io/pypi/v/gcode2dplotterart)

# Introduction

[G-Code](https://marlinfw.org/meta/gcode/) wrapper to generate G-Code for 2D plotter art. Add paths, points, lines, circles, and more and get G-Code instructions to send to your 2D Plotter or [converted 3D Printer](https://travisbumgarner.github.io/gcode2dplotterart/docs/documentation/convert-3d-to-2d).

Here are a few examples of what's been made with this library.

![Preview Image](https://travisbumgarner.github.io/gcode2dplotterart/assets/images/example1-3c9d4c0a76c1d373e7bfc6187b6cc442.jpg)

![Preview Image](https://travisbumgarner.github.io/gcode2dplotterart/assets/images/example1-53389bb1cc21dc7a9aba3a302f04e952.jpg)


# Quick Start

Below is a quick start example to get you up and running. For a quick start, gallery, and documentation, . [check out the website](https://travisbumgarner.github.io/gcode2dplotterart/).

```python

from gcode2dplotterart import Plotter2D # Change to `Plotter3D` if using a converted 3D printer.

plotter = Plotter2D(
    # Specify the dimensions of your plotter
    x_min=0,
    x_max=200,
    y_min=0,
    y_max=200,
    feed_rate=10000,
    # G-Code files are located in `output_directory/title/layer.gcode`
    title="Plotter2D Quickstart",
    output_directory="./output",
    # Give a warning if a plotted point is outside the plotting device's dimensions.
    handle_out_of_bounds="Warning",
)

# Setup a layer per plotting instrument used
black_pen_layer = "black_pen_layer"
blue_marker_layer = "blue_marker_layer"
green_marker_layer = "green_marker_layer"

# Create the layers
plotter.add_layer(black_pen_layer, color="black", line_width=1.0)
plotter.add_layer(blue_marker_layer, color="blue", line_width=4.0)
plotter.add_layer(green_marker_layer, color="#027F00", line_width=4.0)

# Add some dots, lines, shapes, and paths.
plotter.layers[black_pen_layer].add_rectangle(
    x_start=10, y_start=15, x_end=40, y_end=50
)
plotter.layers[black_pen_layer].add_point(x=30, y=40)
plotter.layers[blue_marker_layer].add_circle(x_center=10, y_center=30, radius=10)
plotter.layers[blue_marker_layer].add_rectangle(x_start=50, y_start=50, x_end=75, y_end=75)
plotter.layers[green_marker_layer].add_path([(10, 10), (20, 25), (30, 15), (1, 100)])
plotter.layers[green_marker_layer].add_line(x_start=70, y_start=80, x_end=70, y_end=15)

# Generate a graphical preview to get a rough idea of what will be plotted.
plotter.preview()

# Output creation to G-Code files to be used in plotting.
plotter.save()
```

# Changelog

[View the changelog](https://travisbumgarner.github.io/gcode2dplotterart/docs/releases)
stingray-ascii 1.0.0
A useless library that helps you print stingray ASCII arts.
Requires Python: >=3.6

# Stingray ASCII

A **useless** Python library that helps you print stingray ASCII art.

## Installation

You can install this package using pip:

```bash
pip install stingray-ascii
```

## Usage

Import the package and use the functions to print stingray ASCII art facing left or right.

```python
from stingray_ascii.core import print_mini_stingray_ascii, print_stingray_ascii

# Print a mini stingray facing left (default)
print_mini_stingray_ascii()

# Print a mini stingray facing right
print_mini_stingray_ascii('right')

# Print a large stingray facing left (default)
print_stingray_ascii()

# Print a large stingray facing right
print_stingray_ascii('right')
```

## Examples

### Mini Stingray ASCII
```bash
◀--
```
```bash
--▶
```

### Large Stingray ASCII
#### Facing Left
```bash
    /\  
  |  \.  
 /     \  
|:      >------  
 \     /  
  |  /'  
    \/  
```

#### Facing Right
```bash
           /\
         ./  |
        /     \
------<      :|
        \     /
         '\  |
           \/
```

## Error Handling

If an incorrect direction is provided, an `IncorrectDirection` exception is raised:

```python
from stingray_ascii.core import print_mini_stingray_ascii

print_mini_stingray_ascii('up')  # Raises IncorrectDirection error
```

## License

This project is licensed under the MIT License.

## Author

Developed by **Stingray Park**.

For more details, visit the [GitHub Repository](https://github.com/stingraypark/stingray-ascii).
postalsend 0.1.1
A library to send messages with the Postal server API.
Requires Python: >=3.6

# Postal Sender Library

This is a library to send messages with the Postal server API.

## Installation

```bash
pip install postalsend
```


## Usage

```python
import postalsend
``` 

## Login

```python
postalsend.login(server, api_key)
```

## Send a message

```python
postalsend.send(from_address, to_address, subject, text)
```

## Setup push notifications

```python
postalsend.push_setup(to_address, from_address)
```

## Send a push notification

```python
postalsend.push_send(subject, text)
``` 

## Example

```python
python examples/send-mail.py
``` 

## License

This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.
solana-keypair 0.2.1
Provides backwards compatibility for older software versions using solana keypair import
Requires Python: >=3.8

# Solana On-Chain Trading Bot (Very Immature Now)

This project is owned by [@handsomevictor](https://github.com/handsomevictor), a Chinese boy living in Paris.

## Introduction

The aim of this project is to provide a powerful tool for trading on Web3's most renowned exchanges, such as
[JUP](https://jup.ag/). JUP is primarily used for swapping tokens, and this tool focuses on utilizing it for trading
rather than traditional limit orders.

**Disclaimer**: This project, owned solely by [@handsomevictor](https://github.com/handsomevictor), offers open-source
strategies without warranty. The author holds no responsibility for any losses incurred while using this project.

## Usage

Before using the project, ensure you have created a wallet, transferred some SOL or other tokens to it, and placed the
public and private keys in the environment variables. The project utilizes these keys to sign transactions.

```python
USER_PUBLIC_KEY = os.environ.get("TEST_USER_PUBLIC_KEY")
USER_PRIVATE_KEY = os.environ.get("TEST_SOLANA_USER_PRIVATE_KEY")
```

## How to Run

Execute [transaction_executor.py](trading_bot%2Ftransaction_executor.py) in `./trading_bot`.

## Example Calculation

Assume your Solana wallet holds 1 SOL and 1 USDC, and you want to swap 0.1 SOL for USDC. Assuming a gas fee of 0.00007
SOL and a price of 1 SOL = 100 USDC, the result would be:

- SOL: 1 - 0.1 (swapping amount in SOL) - 0.00007 (gas fee) = 0.89993
- USDC: 1 + 0.1 (swapping amount in SOL) * 100 (exchange rate) = 2

## Email Notification

If you want to use it, register an account on Outlook (or any other email service) and enable the SMTP server,
and change the following parameters in `./tools/resources.py` or add them to your environment variables:

- SMTP_SERVER
- SMTP_PORT
- SENDER_EMAIL
- EMAIL_PASSWORD

## Reminders

- Never trade all your SOL. Always leave some for gas fees.
- No matter if a trade is made or not, as long as it's sent to the blockchain, a gas fee will be charged (range is
  usually 0.00006 - 0.00015 SOL but can be higher).

## Resourcess

This project utilizes the documentation provided by [Jup](https://station.jup.ag/docs/apis/swap-api)
and [solana-py](https://michaelhly.com/solana-py/), also took some pieces of code
from [0xTaoDev](https://github.com/0xTaoDev/jupiter-python-cli)

## Data Source

Real-time data is sourced from Kaiko and the Binance API. However, only Kaiko data is used for building trading
strategies. If you're interested in leveraging Kaiko data, feel free to reach out. Note that it's not free.

## Some Good Blockchain Analytics Websites

- [BirdEye](https://birdeye.so/)
- [Defillama](https://defillama.com/airdrops?chain=Solana)
- [ArkhamIntelligence](https://platform.arkhamintelligence.com/explorer/entity/grayscale)
- [Dune](https://dune.com/etaetaeta/pyth-stakers-over-time)

Date: Feb. 13, 2024
solana-publickey 0.2.1
Provides backwards compatibility for older software versions using solana public key import
Requires Python: >=3.8

# Solana On-Chain Trading Bot (Very Immature Now)

This project is owned by [@handsomevictor](https://github.com/handsomevictor), a Chinese boy living in Paris.

## Introduction

The aim of this project is to provide a powerful tool for trading on Web3's most renowned exchanges, such as
[JUP](https://jup.ag/). JUP is primarily used for swapping tokens, and this tool focuses on utilizing it for trading
rather than traditional limit orders.

**Disclaimer**: This project, owned solely by [@handsomevictor](https://github.com/handsomevictor), offers open-source
strategies without warranty. The author holds no responsibility for any losses incurred while using this project.

## Usage

Before using the project, ensure you have created a wallet, transferred some SOL or other tokens to it, and placed the
public and private keys in the environment variables. The project utilizes these keys to sign transactions.

```python
USER_PUBLIC_KEY = os.environ.get("TEST_USER_PUBLIC_KEY")
USER_PRIVATE_KEY = os.environ.get("TEST_SOLANA_USER_PRIVATE_KEY")
```

## How to Run

Execute [transaction_executor.py](trading_bot%2Ftransaction_executor.py) in `./trading_bot`.

## Example Calculation

Assume your Solana wallet holds 1 SOL and 1 USDC, and you want to swap 0.1 SOL for USDC. Assuming a gas fee of 0.00007
SOL and a price of 1 SOL = 100 USDC, the result would be:

- SOL: 1 - 0.1 (swapping amount in SOL) - 0.00007 (gas fee) = 0.89993
- USDC: 1 + 0.1 (swapping amount in SOL) * 100 (exchange rate) = 2

## Email Notification

If you want to use it, register an account on Outlook (or any other email service) and enable the SMTP server,
and change the following parameters in `./tools/resources.py` or add them to your environment variables:

- SMTP_SERVER
- SMTP_PORT
- SENDER_EMAIL
- EMAIL_PASSWORD

## Reminders

- Never trade all your SOL. Always leave some for gas fees.
- No matter if a trade is made or not, as long as it's sent to the blockchain, a gas fee will be charged (range is
  usually 0.00006 - 0.00015 SOL but can be higher).

## Resourcess

This project utilizes the documentation provided by [Jup](https://station.jup.ag/docs/apis/swap-api)
and [solana-py](https://michaelhly.com/solana-py/), also took some pieces of code
from [0xTaoDev](https://github.com/0xTaoDev/jupiter-python-cli)

## Data Source

Real-time data is sourced from Kaiko and the Binance API. However, only Kaiko data is used for building trading
strategies. If you're interested in leveraging Kaiko data, feel free to reach out. Note that it's not free.

## Some Good Blockchain Analytics Websites

- [BirdEye](https://birdeye.so/)
- [Defillama](https://defillama.com/airdrops?chain=Solana)
- [ArkhamIntelligence](https://platform.arkhamintelligence.com/explorer/entity/grayscale)
- [Dune](https://dune.com/etaetaeta/pyth-stakers-over-time)

Date: Feb. 13, 2024