Metadata-Version: 2.1
Name: sporestack
Version: 12.1.1
Summary: SporeStack API library and CLI for launching servers with Monero or Bitcoin
Keywords: bitcoin,monero,vps,server
Author-email: SporeStack <support@sporestack.com>
Requires-Python: ~=3.8
Description-Content-Type: text/markdown
Requires-Dist: pydantic>=1.10,<3
Requires-Dist: httpx[socks]
Requires-Dist: segno ; extra == "cli"
Requires-Dist: typer>=0.9.0 ; extra == "cli"
Requires-Dist: rich ; extra == "cli"
Project-URL: Changelog, https://git.sporestack.com/SporeStack/sporestack-python/src/branch/master/CHANGELOG.md
Project-URL: Homepage, https://sporestack.com
Project-URL: Source, https://git.sporestack.com/SporeStack/sporestack-python
Provides-Extra: cli

# Python 3 library and CLI for [SporeStack](https://sporestack.com) ([SporeStack Tor Hidden Service](http://spore64i5sofqlfz5gq2ju4msgzojjwifls7rok2cti624zyq3fcelad.onion))

[Changelog](CHANGELOG.md)

## Requirements

* Python 3.8-3.11 (and likely newer)

## Running without installing

* Make sure [pipx](https://pipx.pypya.io) is installed.
* `pipx run 'sporestack[cli]'`

## Installation with pipx

* Make sure [pipx](https://pipx.pypya.io) is installed.
* `pipx install 'sporestack[cli]'`

## Traditional installation

* Recommended: Create and activate a virtual environment, first.
* `pip install sporestack` (Run `pip install 'sporestack[cli]'` if you wish to use the command line `sporestack` functionality and not just the Python library.)

## Usage Examples

* Recommended: Make sure you're on the latest stable version comparing `sporestack version` with git tags in this repository, or releases on [PyPI](https://pypi.org/project/sporestack/).
* `sporestack token create --dollars 20 --currency xmr`
* `sporestack token list`
* `sporestack token info`
* `sporestack server launch --hostname SomeHostname --operating-system debian-12 --days 1  # Will use ~/.ssh/id_rsa.pub as your SSH key, by default`
(You may also want to consider passing `--region` to have a non-random region. This will use the "primary" token by default, which is the default when you run `sporestack token create`.)
* `sporestack server stop --hostname SomeHostname`
* `sporestack server stop --machine-id ss_m_...  # Or use --machine-id to be more pedantic.`
* `sporestack server start --hostname SomeHostname`
* `sporestack server autorenew-enable --hostname SomeHostname`
* `sporestack server autorenew-disable --hostname SomeHostname`
* `sporestack server list`
* `sporestack server delete --hostname SomeHostname`

## Notes

* If you want to communicate with the SporeStack API using Tor, set this environment variable: `SPORESTACK_USE_TOR_ENDPOINT=1`. Verify which endpoint is in use with `sporestack api-endpoint`.

## Developing

* `pipenv install --deploy --dev`
* `pipenv run make test`
* `pipenv run make format` to format files and apply ruff fixes.

## Licence

[Unlicense/Public domain](LICENSE.txt)

