Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 21 additions & 16 deletions .github/workflows/build-deb.yml
Original file line number Diff line number Diff line change
Expand Up @@ -77,32 +77,37 @@ jobs:

- name: Setup qemu
if: matrix.arch == 'arm64' || matrix.arch == 'armhf'
uses: docker/setup-qemu-action@c7c53464625b32c7a7e944ae62b3e17d2b600130
uses: docker/setup-qemu-action@96fe6ef7f33517b61c61be40b68a1882f3264fb8 # v4.2.0

- name: Setup docker buildx
uses: docker/setup-buildx-action@e468171a9de216ec08956ac3ada2f0791b6bd435
uses: docker/setup-buildx-action@bb05f3f5519dd87d3ba754cc423b652a5edd6d2c # v4.2.0

- name: Free up disk space
run: |
sudo rm -rf /usr/share/dotnet /usr/local/lib/android /opt/ghc || true
docker system prune -af || true

- name: Prepare build environment
run: |
PLATFORM=${{ matrix.arch == 'amd64' && 'linux/amd64' ||
matrix.arch == 'armhf' && 'linux/arm/v7' ||
'linux/arm64' }}
uses: nick-fields/retry@ad984534de44a9489a53aefd81eb77f87c70dc60 # v4.0.0
with:
timeout_minutes: 60
max_attempts: 3
retry_wait_seconds: 15
command: |
PLATFORM=${{ matrix.arch == 'amd64' && 'linux/amd64' ||
matrix.arch == 'armhf' && 'linux/arm/v7' ||
'linux/arm64' }}

docker buildx build \
--platform $PLATFORM \
--build-arg BASE_IMAGE=${{ matrix.base_image }} \
--build-arg THREADS=3 \
-t monero-python:${{ matrix.name }}-${{ matrix.arch }} \
-f Dockerfile.linux \
--cache-from type=gha,scope=${{ matrix.name }}-${{ matrix.arch }} \
--cache-to type=gha,mode=max,scope=${{ matrix.name }}-${{ matrix.arch }} \
--load \
.
docker buildx build \
--platform $PLATFORM \
--build-arg BASE_IMAGE=${{ matrix.base_image }} \
--build-arg THREADS=3 \
-t monero-python:${{ matrix.name }}-${{ matrix.arch }} \
-f Dockerfile.linux \
--cache-from type=gha,scope=${{ matrix.name }}-${{ matrix.arch }} \
--cache-to type=gha,mode=max,scope=${{ matrix.name }}-${{ matrix.arch }} \
--load \
.

- name: Build monero-python
uses: nick-fields/retry@ad984534de44a9489a53aefd81eb77f87c70dc60 # v4.0.0
Expand Down
3 changes: 2 additions & 1 deletion .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -97,6 +97,7 @@ jobs:
- name: Setup test environment
run: |
docker compose -f tests/docker-compose.yml up -d node_1 node_2 xmr_wallet_1 xmr_wallet_2 xmr_wallet_3
sleep 10

- name: Reset coverage counters
run: |
Expand Down Expand Up @@ -148,7 +149,7 @@ jobs:
lcov --capture --directory external/monero-cpp/build --ignore-errors mismatch,mismatch,inconsistent,source,source,gcov,gcov --output-file coverage_monero_cpp_full.info
lcov --ignore-errors unused,unused --extract coverage_monero_cpp_full.info '*/monero-cpp/src/*' --output-file coverage_monero_cpp.info
sed -i "s|$(pwd)/||g" coverage_monero_cpp.info
genhtml coverage_monero_cpp.info --output-directory coverage_monero_cpp_html --ignore-errors mismatch,inconsistent,source,corrupt
genhtml coverage_monero_cpp.info --output-directory coverage_monero_cpp_html --ignore-errors mismatch,inconsistent,source,corrupt --title "monero-cpp coverage @ ${GITHUB_SHA::7}"
lcov --summary coverage_monero_cpp.info

- name: Upload coverage report
Expand Down
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
cmake_minimum_required(VERSION 3.15)

project(monero VERSION 0.0.1 LANGUAGES CXX)
project(monero VERSION 1.0.0 LANGUAGES CXX)

set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
Expand Down
25 changes: 20 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,14 @@
[![Build Windows Package](https://github.com/everoddandeven/monero-python/actions/workflows/build-windows.yml/badge.svg?branch=main)](https://github.com/everoddandeven/monero-python/actions/workflows/build-windows.yml)
[![Build MacOS](https://github.com/everoddandeven/monero-python/actions/workflows/build-macos.yml/badge.svg)](https://github.com/everoddandeven/monero-python/actions/workflows/build-macos.yml)

[![Pybind](https://img.shields.io/badge/pybind-v2-blue?logo=python&logoColor=white
)](https://github.com/pybind/pybind11)
[![Python](https://img.shields.io/badge/python-3.10_%7C_3.11_%7C_3.12_%7C_3.13_%7C_3.14-blue?logo=python&logoColor=white
)](https://github.com/everoddandeven/monero-python#monero-python-library)
[![Docs](https://img.shields.io/badge/docs-stable-blue?logo=readthedocs)
](https://everoddandeven.github.io/monero-python/mkdocs/public/)
[![Matrix](https://img.shields.io/badge/matrix-monero--python-blue?logo=matrix)](https://matrix.to/#/#monero-python:monero.social)

> [!WARNING]
>
> monero-python is currently under maintenance, expect bugs and breaking changes.
> The maintenance of this project has been generously funded by the [Monero CCS](https://ccs.getmonero.org/proposals/everoddandeven-monero-python-maintenance.html).

A Python library for creating Monero applications using RPC and Python bindings to [monero v0.18.5.1 'Fluorine Fermi'](https://github.com/monero-project/monero/tree/v0.18.5.1).

* Supports wallet and daemon RPC clients.
Expand Down Expand Up @@ -249,6 +250,20 @@ For example: `export LD_PRELOAD=/path/to/libjemalloc.a` then run your app.

This project is licensed under MIT.

## Sponsors
We would like to thank our sponsors for their financial contributions that keep this project up and running!

<table>
<tr>
<th>
Monero Community
</th>
<td>
The maintenance of this project for a first stable release has been generously funded by the Monero Community Crowdfunding System (see <a href="https://repo.getmonero.org/monero-project/ccs-proposals/-/merge_requests/598">proposal</a>).
</td>
</tr>
</table>

## Donations

If this library has been valuable to you, please consider donating to support its continued development. 🙏
Expand Down
2 changes: 1 addition & 1 deletion debian/bookworm/control
Original file line number Diff line number Diff line change
Expand Up @@ -11,4 +11,4 @@ Package: python3-monero
Architecture: all
Description: Python bindings for monero-cpp
This package provides Python 3 bindings for the monero-cpp library using pybind11.
Version: 0.0.1
Version: 1.0.0
2 changes: 1 addition & 1 deletion debian/jammy/control
Original file line number Diff line number Diff line change
Expand Up @@ -11,4 +11,4 @@ Package: python3-monero
Architecture: all
Description: Python bindings for monero-cpp
This package provides Python 3 bindings for the monero-cpp library using pybind11.
Version: 0.0.1
Version: 1.0.0
2 changes: 1 addition & 1 deletion debian/noble/control
Original file line number Diff line number Diff line change
Expand Up @@ -11,4 +11,4 @@ Package: python3-monero
Architecture: all
Description: Python bindings for monero-cpp
This package provides Python 3 bindings for the monero-cpp library using pybind11.
Version: 0.0.1
Version: 1.0.0
2 changes: 1 addition & 1 deletion debian/trixie/control
Original file line number Diff line number Diff line change
Expand Up @@ -11,4 +11,4 @@ Package: python3-monero
Architecture: all
Description: Python bindings for monero-cpp
This package provides Python 3 bindings for the monero-cpp library using pybind11.
Version: 0.0.1
Version: 1.0.0
2 changes: 1 addition & 1 deletion docker/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
set -e

DISTRO_CODENAME=$(grep VERSION_CODENAME /etc/os-release | cut -d'=' -f2)
DEFAULT_VERSION="0.0.1"
DEFAULT_VERSION="1.0.0"

if [ -z "$DISTRO_CODENAME" ]; then
DISTRO_CODENAME=$(lsb_release -c -s 2>/dev/null || echo "unknown")
Expand Down
2 changes: 1 addition & 1 deletion docs/mkdocs/docs/en/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ Welcome to the Monero Python documentation.

The aim of this project is to provide an intuitive and robust way to interact with the Monero cryptocurrency in Python using a clearly defined data model. It provides high level classes representing objects from the Monero environment, like wallets, accounts, addresses and transactions.

Developers can create Monero applications using JSON-RPC or Python bindings to monero v0.18.4.4 'Flourine Fermi'.
Developers can create Monero applications using JSON-RPC or Python bindings to monero v0.18.5.1 'Flourine Fermi'.

Contributions can be made via issues and pull requests on GitHub, or communicated via the #monero-python workgroup on Matrix.

Expand Down
2 changes: 1 addition & 1 deletion docs/mkdocs/public/api/connection/index.html

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion docs/mkdocs/public/api/daemon/index.html

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion docs/mkdocs/public/api/data_model/daemon/index.html

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion docs/mkdocs/public/api/data_model/wallet/index.html

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion docs/mkdocs/public/api/utils/index.html

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion docs/mkdocs/public/api/wallet/index.html

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion docs/mkdocs/public/api/wallet_full/index.html

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion docs/mkdocs/public/index.html

Large diffs are not rendered by default.

Binary file modified docs/mkdocs/public/objects.inv
Binary file not shown.
2 changes: 1 addition & 1 deletion docs/mkdocs/public/search/search_index.json

Large diffs are not rendered by default.

42 changes: 21 additions & 21 deletions docs/mkdocs/public/sitemap.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,127 +2,127 @@
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml">
<url>
<loc>https://everoddandeven.github.io/monero-python/</loc>
<lastmod>2026-04-27</lastmod>
<lastmod>2026-07-28</lastmod>
<changefreq>daily</changefreq>
<xhtml:link rel="alternate" hreflang="en" href="https://everoddandeven.github.io/monero-python/"/>
</url>
<url>
<loc>https://everoddandeven.github.io/monero-python/api/architecture/</loc>
<lastmod>2026-04-27</lastmod>
<lastmod>2026-07-28</lastmod>
<changefreq>daily</changefreq>
<xhtml:link rel="alternate" hreflang="en" href="https://everoddandeven.github.io/monero-python/api/architecture/"/>
</url>
<url>
<loc>https://everoddandeven.github.io/monero-python/api/connection/</loc>
<lastmod>2026-04-27</lastmod>
<lastmod>2026-07-28</lastmod>
<changefreq>daily</changefreq>
<xhtml:link rel="alternate" hreflang="en" href="https://everoddandeven.github.io/monero-python/api/connection/"/>
</url>
<url>
<loc>https://everoddandeven.github.io/monero-python/api/daemon/</loc>
<lastmod>2026-04-27</lastmod>
<lastmod>2026-07-28</lastmod>
<changefreq>daily</changefreq>
<xhtml:link rel="alternate" hreflang="en" href="https://everoddandeven.github.io/monero-python/api/daemon/"/>
</url>
<url>
<loc>https://everoddandeven.github.io/monero-python/api/daemon_rpc/</loc>
<lastmod>2026-04-27</lastmod>
<lastmod>2026-07-28</lastmod>
<changefreq>daily</changefreq>
<xhtml:link rel="alternate" hreflang="en" href="https://everoddandeven.github.io/monero-python/api/daemon_rpc/"/>
</url>
<url>
<loc>https://everoddandeven.github.io/monero-python/api/serializable_struct/</loc>
<lastmod>2026-04-27</lastmod>
<lastmod>2026-07-28</lastmod>
<changefreq>daily</changefreq>
<xhtml:link rel="alternate" hreflang="en" href="https://everoddandeven.github.io/monero-python/api/serializable_struct/"/>
</url>
<url>
<loc>https://everoddandeven.github.io/monero-python/api/utils/</loc>
<lastmod>2026-04-27</lastmod>
<lastmod>2026-07-28</lastmod>
<changefreq>daily</changefreq>
<xhtml:link rel="alternate" hreflang="en" href="https://everoddandeven.github.io/monero-python/api/utils/"/>
</url>
<url>
<loc>https://everoddandeven.github.io/monero-python/api/wallet/</loc>
<lastmod>2026-04-27</lastmod>
<lastmod>2026-07-28</lastmod>
<changefreq>daily</changefreq>
<xhtml:link rel="alternate" hreflang="en" href="https://everoddandeven.github.io/monero-python/api/wallet/"/>
</url>
<url>
<loc>https://everoddandeven.github.io/monero-python/api/wallet_full/</loc>
<lastmod>2026-04-27</lastmod>
<lastmod>2026-07-28</lastmod>
<changefreq>daily</changefreq>
<xhtml:link rel="alternate" hreflang="en" href="https://everoddandeven.github.io/monero-python/api/wallet_full/"/>
</url>
<url>
<loc>https://everoddandeven.github.io/monero-python/api/wallet_keys/</loc>
<lastmod>2026-04-27</lastmod>
<lastmod>2026-07-28</lastmod>
<changefreq>daily</changefreq>
<xhtml:link rel="alternate" hreflang="en" href="https://everoddandeven.github.io/monero-python/api/wallet_keys/"/>
</url>
<url>
<loc>https://everoddandeven.github.io/monero-python/api/wallet_rpc/</loc>
<lastmod>2026-04-27</lastmod>
<lastmod>2026-07-28</lastmod>
<changefreq>daily</changefreq>
<xhtml:link rel="alternate" hreflang="en" href="https://everoddandeven.github.io/monero-python/api/wallet_rpc/"/>
</url>
<url>
<loc>https://everoddandeven.github.io/monero-python/api/data_model/connection/</loc>
<lastmod>2026-04-27</lastmod>
<lastmod>2026-07-28</lastmod>
<changefreq>daily</changefreq>
<xhtml:link rel="alternate" hreflang="en" href="https://everoddandeven.github.io/monero-python/api/data_model/connection/"/>
</url>
<url>
<loc>https://everoddandeven.github.io/monero-python/api/data_model/daemon/</loc>
<lastmod>2026-04-27</lastmod>
<lastmod>2026-07-28</lastmod>
<changefreq>daily</changefreq>
<xhtml:link rel="alternate" hreflang="en" href="https://everoddandeven.github.io/monero-python/api/data_model/daemon/"/>
</url>
<url>
<loc>https://everoddandeven.github.io/monero-python/api/data_model/wallet/</loc>
<lastmod>2026-04-27</lastmod>
<lastmod>2026-07-28</lastmod>
<changefreq>daily</changefreq>
<xhtml:link rel="alternate" hreflang="en" href="https://everoddandeven.github.io/monero-python/api/data_model/wallet/"/>
</url>
<url>
<loc>https://everoddandeven.github.io/monero-python/examples/connect_to_rpc_server/</loc>
<lastmod>2026-04-27</lastmod>
<lastmod>2026-07-28</lastmod>
<changefreq>daily</changefreq>
<xhtml:link rel="alternate" hreflang="en" href="https://everoddandeven.github.io/monero-python/examples/connect_to_rpc_server/"/>
</url>
<url>
<loc>https://everoddandeven.github.io/monero-python/examples/create_local_full_wallet/</loc>
<lastmod>2026-04-27</lastmod>
<lastmod>2026-07-28</lastmod>
<changefreq>daily</changefreq>
<xhtml:link rel="alternate" hreflang="en" href="https://everoddandeven.github.io/monero-python/examples/create_local_full_wallet/"/>
</url>
<url>
<loc>https://everoddandeven.github.io/monero-python/examples/interact_with_daemon/</loc>
<lastmod>2026-04-27</lastmod>
<lastmod>2026-07-28</lastmod>
<changefreq>daily</changefreq>
<xhtml:link rel="alternate" hreflang="en" href="https://everoddandeven.github.io/monero-python/examples/interact_with_daemon/"/>
</url>
<url>
<loc>https://everoddandeven.github.io/monero-python/examples/interact_with_wallet_rpc/</loc>
<lastmod>2026-04-27</lastmod>
<lastmod>2026-07-28</lastmod>
<changefreq>daily</changefreq>
<xhtml:link rel="alternate" hreflang="en" href="https://everoddandeven.github.io/monero-python/examples/interact_with_wallet_rpc/"/>
</url>
<url>
<loc>https://everoddandeven.github.io/monero-python/examples/query_wallet_txs_and_transfers/</loc>
<lastmod>2026-04-27</lastmod>
<lastmod>2026-07-28</lastmod>
<changefreq>daily</changefreq>
<xhtml:link rel="alternate" hreflang="en" href="https://everoddandeven.github.io/monero-python/examples/query_wallet_txs_and_transfers/"/>
</url>
<url>
<loc>https://everoddandeven.github.io/monero-python/examples/sending_payments/</loc>
<lastmod>2026-04-27</lastmod>
<lastmod>2026-07-28</lastmod>
<changefreq>daily</changefreq>
<xhtml:link rel="alternate" hreflang="en" href="https://everoddandeven.github.io/monero-python/examples/sending_payments/"/>
</url>
<url>
<loc>https://everoddandeven.github.io/monero-python/examples/using_keys_only_wallet/</loc>
<lastmod>2026-04-27</lastmod>
<lastmod>2026-07-28</lastmod>
<changefreq>daily</changefreq>
<xhtml:link rel="alternate" hreflang="en" href="https://everoddandeven.github.io/monero-python/examples/using_keys_only_wallet/"/>
</url>
Expand Down
Binary file modified docs/mkdocs/public/sitemap.xml.gz
Binary file not shown.
Loading
Loading