semvec/pypi-packages huggingface dataset:
verystable 28.1.0.dev0
Tools for experimenting with Bitcoin Core

# `verystable`

*(Because it's not very stable.)*

This project contains a number of useful Python bindings for interaction with bitcoin.

Eventually it will contain a gallery of examples for doing useful things like
interacting with the P2P network and building interesting scripts.

> [!WARNING] 
> This project is not maintained with use of real (mainnet) funds in mind.
> The bulk of the code comes from a test framework that is intended for use with regtest
> only. You might lose money using this!

Notably, this project copies the [Bitcoin Core functional test
framework](https://github.com/bitcoin/bitcoin/tree/master/test/functional) in its
entirety for use, which contains a number of helpful utilities.

This gives us good utilities for interacting with the P2P layer
(`p2p.P2PInterface`) as well as handling process-level bitcoind invocation
(`test_node.TestNode`).

This module could help with a variety of tasks:

  - experimenting with script,
  - demonstrating proposals,
  - building a local relay which adapts the user's choice of
    protocol to bitcoin P2P messages,
  - monitoring via the P2P network,
  - programmatic management of bitcoind instances,
  - general utilities related to bitcoin,
  - and more.

## Installation

```sh
pip install verystable
```

or from source:

```sh
$ git clone https://github.com/jamesob/verystable.git
$ cd verystable
$ pip install -e .
```

Bitcoin Core test utilities (among other things) are then importable:
```python
$ python
>>> import verystable
>>> verystable.core.p2p.MAGIC_BYTES
{'mainnet': b'\xf9\xbe\xb4\xd9',
 'testnet3': b'\x0b\x11\t\x07',
 'regtest': b'\xfa\xbf\xb5\xda',
 'signet': b'\n\x03\xcf@'}
```

## Examples

Examples are contained in [examples/](examples/).

- [jamesob/opvault-demo](https://github.com/jamesob/opvault-demo): a wallet using
  `verystable` to demonstrate an end-to-end use of the [BIP-345 (`OP_VAULT`)
  proposal](https://github.com/jamesob/bips/blob/jamesob-23-02-opvault/bip-0345.mediawiki)


## Running tests

```shell
# with docker
make docker-pull
make test

# without docker
pip installe -e .[tests]
pytest verystable
ruff verystable
```

## Adding tests

Just add a function prefixed with `pytest` in any file and it will be collected by the
py.test runner.


## Pulling from upstream

To update the imported Bitcoin Core functional test framework code, 
- run `./pull-from-upstream.sh <bitcoin-core-repo-path>`
- examine/commit the diff
- bump the `pyproject.toml` version number if needed
swecommondm 0.0.1a0
A SWE Common Data Model representation in Python
Requires Python: >=3.10

# SWE Common Data Model Python

This package includes a selection of commonly used datamodels and encodings listed in the SWE Common Data Model 2.0 (OGC 08-094r1)
http://www.opengis.net/doc/IS/SWE/2.0

Documentation for the package can be found at https://chainreaction31.github.io/py_osh_data_core/

It is not yet comprehensive, with the primary aim being to facilitate the use of OSH's Connected Systems API.