Skip to main content

Neonize is a Python library designed to streamline the automation of tasks on WhatsApp

Project description

๐Ÿš€ Neonize

WhatsApp Automation Made Simple for Python

Python Go License WhatsApp Release

A powerful Python library built on top of Whatsmeow - enabling seamless WhatsApp automation with enterprise-grade performance


Getting Started โ€ข Features โ€ข Examples โ€ข Documentation โ€ข Contributing

Neonize

โœจ What is Neonize?

Neonize is a cutting-edge Python library that transforms WhatsApp automation from complex to simple. Built on top of the robust Whatsmeow Go library, it delivers enterprise-grade performance with Python's ease of use and developer-friendly API.

๐ŸŽฏ Why Choose Neonize?

  • ๐Ÿ”ฅ High Performance - Built with Go backend for maximum speed and efficiency
  • ๐Ÿ Python Native - Seamless integration with your existing Python ecosystem
  • ๐Ÿ›ก๏ธ Enterprise Ready - Production-tested with robust error handling and reliability
  • โšก Real-time - Handle messages, media, and events in real-time with async support
  • ๐Ÿ”ง Easy Integration - Simple, intuitive API design for rapid development
  • ๐Ÿ“š Well Documented - Comprehensive documentation with practical examples

๐ŸŒŸ Features

Core Messaging

  • โœ… Send and receive text messages
  • โœ… Handle media files (images, videos, documents, audio)
  • โœ… Group management and operations
  • โœ… Real-time message events
  • โœ… Message receipts and status tracking

Advanced Capabilities

  • ๐Ÿ” End-to-end encryption support
  • ๐ŸŽฏ Contact and user information retrieval
  • ๐Ÿ“ž Call event handling
  • ๐Ÿ”” Presence and typing indicators
  • ๐Ÿ“Š Polls and interactive messages
  • ๐Ÿšซ Blocklist management

Developer Experience

  • ๐Ÿ”„ Event-driven architecture
  • ๐Ÿ“Š Built-in logging and debugging
  • ๐Ÿ—„๏ธ SQLite and PostgreSQL database support
  • โšก Both synchronous and asynchronous APIs
  • ๐Ÿงช Comprehensive examples and documentation

๐Ÿ’Ž Sponsors

We are grateful to our sponsors who help make Neonize possible. Their support enables us to continue developing and maintaining this open-source project for the community.

User avatar: FeedMe

๐Ÿค Become a Sponsor

Your sponsorship helps us:

  • โšก Maintain and improve Neonize
  • ๐Ÿ› Fix bugs and add new features
  • ๐Ÿ“š Create better documentation
  • ๐Ÿ”ง Provide community support
  • ๐Ÿš€ Keep the project free and open-source

Become a Sponsor โ†’

Thank you to all our sponsors for believing in Neonize and supporting open-source development! ๐Ÿ™

๐Ÿš€ Getting Started

Prerequisites

  • Python 3.8 or higher
  • Go 1.19+ (for building from source)

Installation

pip install neonize

Quick Start

from neonize.client import NewClient
from neonize.events import MessageEv, ConnectedEv, event

# Initialize client
client = NewClient("your_bot_name")

@client.event
def on_connected(client: NewClient, event: ConnectedEv):
    print("๐ŸŽ‰ Bot connected successfully!")

@client.event  
def on_message(client: NewClient, event: MessageEv):
    if event.message.conversation == "hi":
        client.reply_message("Hello! ๐Ÿ‘‹", event.message)

# Start the bot
client.connect()
event.wait()  # Keep running

Async Version

import asyncio
from neonize.aioze.client import NewAClient
from neonize.aioze.events import MessageEv, ConnectedEv

async def main():
    client = NewAClient("async_bot")
    
    @client.event
    async def on_message(client: NewAClient, event: MessageEv):
        if event.message.conversation == "ping":
            await client.reply_message("pong! ๐Ÿ“", event.message)
    
    await client.connect()

asyncio.run(main())

๐Ÿ’ก Examples

๐Ÿ“ฑ Basic Client Setup

from neonize.client import NewClient
from neonize.events import MessageEv, ConnectedEv, event
import logging

# Enable logging for debugging
logging.basicConfig(level=logging.INFO)

# Initialize the WhatsApp client
client = NewClient(
    name="my-whatsapp-bot",
    database="./neonize.db"
)

# Handle successful connection
@client.event
def on_connected(client: NewClient, event: ConnectedEv):
    print("๐ŸŽ‰ Successfully connected to WhatsApp!")
    print(f"๐Ÿ“ฑ Device: {event.device}")

# Start the client
client.connect()
event.wait()

๐Ÿ’ฌ Sending Messages

from neonize.utils import build_jid

# Send simple text message
jid = build_jid("1234567890")
client.send_message(jid, text="Hello from Neonize! ๐Ÿš€")

# Send image with caption
with open("image.jpg", "rb") as f:
    image_data = f.read()

image_msg = client.build_image_message(
    image_data,
    caption="Check out this amazing image! ๐Ÿ“ธ",
    mime_type="image/jpeg"
)
client.send_message(jid, message=image_msg)

# Send document file
with open("document.pdf", "rb") as f:
    doc_data = f.read()

doc_msg = client.build_document_message(
    doc_data,
    filename="document.pdf",
    caption="Here is the document you requested",
    mime_type="application/pdf"
)
client.send_message(jid, message=doc_msg)

๐ŸŽญ Message Event Handling

from neonize.events import MessageEv, ReceiptEv, PresenceEv
from datetime import datetime

# Handle incoming text messages
@client.event
def on_message(client: NewClient, event: MessageEv):
    message_text = event.message.conversation
    sender_jid = event.info.message_source.sender
    chat_jid = event.info.message_source.chat
    
    print(f"๐Ÿ“จ Received from {sender_jid}: {message_text}")
    
    # Auto-reply functionality
    if message_text and message_text.lower() == "hello":
        client.send_message(chat_jid, text="Hello there! ๐Ÿ‘‹")
    elif message_text and message_text.lower() == "help":
        help_text = """
๐Ÿค– *Bot Commands:*
โ€ข hello - Get a greeting
โ€ข help - Show this help message
โ€ข time - Get current time
โ€ข joke - Get a random joke
"""
        client.send_message(chat_jid, text=help_text)
    elif message_text and message_text.lower() == "time":
        current_time = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
        client.send_message(chat_jid, text=f"๐Ÿ• Current time: {current_time}")

# Handle message receipts (delivery status)
@client.event
def on_receipt(client: NewClient, event: ReceiptEv):
    print(f"๐Ÿ“ง Message {event.receipt.type}: {event.message_ids}")

# Handle typing indicators
@client.event
def on_presence(client: NewClient, event: PresenceEv):
    chat = event.message_source.chat
    participant = event.message_source.sender
    print(f"๐Ÿ’ฌ {participant} is {event.presence} in {chat}")

๐Ÿ‘ฅ Group Management

from neonize.utils import build_jid

# Create a new group
participants = [
    build_jid("1234567890"),
    build_jid("0987654321"),
]

group_info = client.create_group(
    "My Awesome Group ๐Ÿš€",
    participants
)
print(f"๐ŸŽ‰ Group created: {group_info.jid}")

# Get group information
group_info = client.get_group_info(group_jid)
print(f"๐Ÿ“‹ Group Name: {group_info.group_name}")
print(f"๐Ÿ“ Description: {group_info.group_desc}")
print(f"๐Ÿ‘ฅ Participants: {len(group_info.participants)}")

# Add participants to group
client.update_group_participants(
    group_jid,
    [user_jid],
    "add"
)

# Remove participants from group
client.update_group_participants(
    group_jid,
    [user_jid],
    "remove"
)

# Update group name
client.update_group_name(
    group_jid,
    "New Group Name ๐ŸŽฏ"
)

# Update group description
client.update_group_description(
    group_jid,
    "This is our updated group description"
)

๐Ÿ” Contact & Profile Management

# Get user profile information
profile = client.get_profile_picture(
    user_jid,
    full_resolution=True
)
print(f"๐Ÿ‘ค Profile picture URL: {profile.url}")
print(f"๐Ÿ†” Profile ID: {profile.id}")

# Update your own status
client.set_presence("available")
print("โœ… Status updated to available")

# Check if contacts are on WhatsApp
contacts = ["1234567890", "0987654321", "1122334455"]
registered_contacts = client.is_on_whatsapp(contacts)

for contact in registered_contacts:
    if contact.is_in:
        print(f"โœ… {contact.jid} is on WhatsApp")
    else:
        print(f"โŒ {contact.query} is not on WhatsApp")

๐Ÿ“Š Polls & Interactive Messages

from neonize.utils.enum import VoteType

# Create a poll
poll_msg = client.build_poll_vote_creation(
    "What's your favorite programming language?",
    ["Python ๐Ÿ", "Go ๐Ÿš€", "JavaScript ๐Ÿ’›", "Rust ๐Ÿฆ€"],
    VoteType.SINGLE_SELECT
)
client.send_message(chat_jid, message=poll_msg)

# Handle poll responses
@client.event
def on_poll_vote(client: NewClient, event):
    voter = event.info.message_source.sender
    selected_options = event.message.poll_update_message.vote.selected_options
    print(f"๐Ÿ“Š {voter} voted for: {selected_options}")

๐Ÿ—๏ธ Project Structure

neonize/
โ”œโ”€โ”€ examples/
โ”‚   โ”œโ”€โ”€ async_basic.py
โ”‚   โ”œโ”€โ”€ basic.py
โ”‚   โ”œโ”€โ”€ multisession_async.py
โ”‚   โ”œโ”€โ”€ multisession.py
โ”‚   โ””โ”€โ”€ paircode.py
โ”œโ”€โ”€ goneonize/
โ”‚   โ”œโ”€โ”€ build_python_proto.py
โ”‚   โ”œโ”€โ”€ chat_settings_store.go
โ”‚   โ”œโ”€โ”€ contact_store.go
โ”‚   โ”œโ”€โ”€ go.mod
โ”‚   โ”œโ”€โ”€ go.sum
โ”‚   โ”œโ”€โ”€ main.go
โ”‚   โ””โ”€โ”€ defproto/
โ”œโ”€โ”€ neonize/
โ”‚   โ”œโ”€โ”€ __init__.py
โ”‚   โ”œโ”€โ”€ client.py
โ”‚   โ”œโ”€โ”€ events.py
โ”‚   โ”œโ”€โ”€ types.py
โ”‚   โ”œโ”€โ”€ aioze/          # Async client
โ”‚   โ”œโ”€โ”€ proto/          # Protocol buffers
โ”‚   โ””โ”€โ”€ utils/          # Helper utilities
โ”œโ”€โ”€ docs/
โ”‚   โ”œโ”€โ”€ conf.py
โ”‚   โ”œโ”€โ”€ index.rst
โ”‚   โ””โ”€โ”€ getstarted.rst
โ””โ”€โ”€ tools/              # Build and development tools

๐Ÿ“– Documentation

Core Classes

Event System

The event system in Neonize is built around decorators and type-safe events:

# Synchronous event handling
@client.event
def on_message(client: NewClient, event: MessageEv):
    handle_message(event)

@client.event
def on_receipt(client: NewClient, event: ReceiptEv):
    handle_receipt(event)

# Asynchronous event handling
@async_client.event
async def on_message(client: NewAClient, event: MessageEv):
    await handle_message_async(event)

Database Support

Neonize supports multiple database backends for storing session data:

# SQLite (default)
client = NewClient("bot_name", database="./app.db")

# PostgreSQL (recommended for production)
client = NewClient("bot_name", database="postgres://user:pass@localhost/dbname")

# In-memory (for testing)
client = NewClient("bot_name", database=":memory:")

Multi-Session Support

Handle multiple WhatsApp accounts simultaneously:

from neonize.client import NewClient
import threading

# Create multiple clients
clients = []
for i in range(3):
    client = NewClient(f"bot_{i}", database=f"./bot_{i}.db")
    clients.append(client)

# Start all clients in separate threads
threads = []
for client in clients:
    thread = threading.Thread(target=client.connect)
    thread.start()
    threads.append(thread)

# Wait for all threads
for thread in threads:
    thread.join()

๐Ÿค Contributing

We welcome contributions! Here's how you can help:

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/amazing-feature
  3. Commit your changes: git commit -m 'Add amazing feature'
  4. Push to the branch: git push origin feature/amazing-feature
  5. Open a Pull Request

Development Setup

# Clone the repository
git clone https://github.com/krypton-byte/neonize.git
cd neonize

# Install dependencies with Poetry
poetry install --with dev

# Or install with pip in development mode
pip install -e .

# Run the basic example
python examples/basic.py

# Run tests
python -m pytest

# Build documentation
cd docs && make html

Code Standards

  • Follow PEP 8 for Python code style
  • Use type hints for better code documentation
  • Write comprehensive tests for new features
  • Update documentation for API changes
  • Ensure backward compatibility when possible

๐Ÿ—„๏ธ Database Configuration

SQLite (Default)

Perfect for development and small-scale deployments:

client = NewClient("my_bot", database="./whatsapp.db")

PostgreSQL (Production Recommended)

For high-performance and scalable applications:

# Basic connection
client = NewClient("my_bot", database="postgres://username:password@localhost:5432/dbname")

# With SSL disabled
client = NewClient("my_bot", database="postgres://username:password@localhost:5432/dbname?sslmode=disable")

# With SSL required
client = NewClient("my_bot", database="postgres://username:password@localhost:5432/dbname?sslmode=require")

Connection Pool Settings

For production applications, configure connection pooling:

database_url = "postgres://user:pass@localhost:5432/neonize?pool_min_conns=5&pool_max_conns=20"
client = NewClient("production_bot", database=database_url)

๐Ÿš€ Quick Integration

With FastAPI

from fastapi import FastAPI
from neonize.aioze.client import NewAClient
from neonize.aioze.events import MessageEv

app = FastAPI()
whatsapp_client = NewAClient("fastapi_bot")

@app.on_event("startup")
async def startup_event():
    await whatsapp_client.connect()

@whatsapp_client.event
async def on_message(client: NewAClient, event: MessageEv):
    # Handle WhatsApp messages in your FastAPI app
    if event.message.conversation == "/api_status":
        await client.reply_message("API is running! โœ…", event.message)

@app.get("/send-message")
async def send_message(phone: str, message: str):
    jid = build_jid(phone)
    await whatsapp_client.send_message(jid, text=message)
    return {"status": "sent"}

With Django

# apps.py
from django.apps import AppConfig
from neonize.client import NewClient
import threading

class WhatsAppConfig(AppConfig):
    name = 'whatsapp_integration'
    
    def ready(self):
        self.whatsapp_client = NewClient("django_bot")
        thread = threading.Thread(target=self.whatsapp_client.connect)
        thread.daemon = True
        thread.start()

With Flask

from flask import Flask, request, jsonify
from neonize.client import NewClient
import threading

app = Flask(__name__)
whatsapp_client = NewClient("flask_bot")

@app.route('/webhook', methods=['POST'])
def webhook():
    data = request.json
    phone = data.get('phone')
    message = data.get('message')
    
    if phone and message:
        jid = build_jid(phone)
        whatsapp_client.send_message(jid, text=message)
        return jsonify({"status": "success"})
    
    return jsonify({"status": "error"}), 400

if __name__ == '__main__':
    # Start WhatsApp client in background
    thread = threading.Thread(target=whatsapp_client.connect)
    thread.daemon = True
    thread.start()
    
    app.run(debug=True)

๐Ÿ“„ License

This project is licensed under the Apache License 2.0 - see the LICENSE file for details.

๐Ÿ™ Acknowledgments

  • Whatsmeow - The powerful Go library that powers Neonize
  • Thundra - Companion library for easy bot creation
  • Python Community - For the amazing ecosystem and support
  • Contributors - All the developers who have contributed to this project

๐Ÿ“ž Support

๐ŸŒŸ Related Projects

  • Thundra - High-level bot framework built on Neonize
  • Neonize Dart - Dart/Flutter wrapper for Neonize
  • Whatsmeow - Go WhatsApp Web API library

Made with โค๏ธ for the Python community

If this project helped you, please consider giving it a โญ on GitHub!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

neonize-0.3.14.post0.tar.gz (416.9 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

neonize-0.3.14.post0-py310-none-win_arm64.whl (6.0 MB view details)

Uploaded Python 3.10Windows ARM64

neonize-0.3.14.post0-py310-none-win_amd64.whl (6.6 MB view details)

Uploaded Python 3.10Windows x86-64

neonize-0.3.14.post0-py310-none-win32.whl (6.5 MB view details)

Uploaded Python 3.10Windows x86

neonize-0.3.14.post0-py310-none-manylinux2014_x86_64.whl (6.7 MB view details)

Uploaded Python 3.10

neonize-0.3.14.post0-py310-none-manylinux2014_s390x.whl (6.7 MB view details)

Uploaded Python 3.10

neonize-0.3.14.post0-py310-none-manylinux2014_i686.whl (9.1 MB view details)

Uploaded Python 3.10

neonize-0.3.14.post0-py310-none-manylinux2014_aarch64.whl (6.2 MB view details)

Uploaded Python 3.10

neonize-0.3.14.post0-py310-none-macosx_12_0_x86_64.whl (6.4 MB view details)

Uploaded Python 3.10macOS 12.0+ x86-64

neonize-0.3.14.post0-py310-none-macosx_12_0_arm64.whl (6.0 MB view details)

Uploaded Python 3.10macOS 12.0+ ARM64

neonize-0.3.14.post0-py3-none-any.whl (509.5 kB view details)

Uploaded Python 3

File details

Details for the file neonize-0.3.14.post0.tar.gz.

File metadata

  • Download URL: neonize-0.3.14.post0.tar.gz
  • Upload date:
  • Size: 416.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for neonize-0.3.14.post0.tar.gz
Algorithm Hash digest
SHA256 28d68e25f5705bca03c904a1c0abab493a8b86ed62c16749eb9d8b31efc261f6
MD5 be7b25fed6bb01aa422ce3a0ff0c8998
BLAKE2b-256 0b2fa1dd3e118b51f7baff22f67870f40a1e4adfed10d24d64513869d8161fb4

See more details on using hashes here.

File details

Details for the file neonize-0.3.14.post0-py310-none-win_arm64.whl.

File metadata

  • Download URL: neonize-0.3.14.post0-py310-none-win_arm64.whl
  • Upload date:
  • Size: 6.0 MB
  • Tags: Python 3.10, Windows ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"22.04","id":"jammy","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for neonize-0.3.14.post0-py310-none-win_arm64.whl
Algorithm Hash digest
SHA256 99fc955c1276a406cef56e1d2a02a1ca8e547a319db2bd7342fd2ea2ad0cfafb
MD5 fdee52bd70d1b2918a847d05316cccfb
BLAKE2b-256 78f1330e39f1e19623727ff734c2005b438484b92a33f32cc1ace0173e9a5187

See more details on using hashes here.

File details

Details for the file neonize-0.3.14.post0-py310-none-win_amd64.whl.

File metadata

  • Download URL: neonize-0.3.14.post0-py310-none-win_amd64.whl
  • Upload date:
  • Size: 6.6 MB
  • Tags: Python 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"22.04","id":"jammy","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for neonize-0.3.14.post0-py310-none-win_amd64.whl
Algorithm Hash digest
SHA256 6bbe49b111c924ad3042b8b59cde4a52fd79f74b46497de6d237e00ed1dbf3a7
MD5 11867e21e1ddb04511fe16d5393f729a
BLAKE2b-256 f3638d22d79a5df84f1de0aaea77933df5020e5779edceb171216c13d2ec9de0

See more details on using hashes here.

File details

Details for the file neonize-0.3.14.post0-py310-none-win32.whl.

File metadata

  • Download URL: neonize-0.3.14.post0-py310-none-win32.whl
  • Upload date:
  • Size: 6.5 MB
  • Tags: Python 3.10, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"22.04","id":"jammy","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for neonize-0.3.14.post0-py310-none-win32.whl
Algorithm Hash digest
SHA256 e041f2553488d3dab098b662c99aa498681150e6eb0ca01ceb6d3ca0d8ef0b65
MD5 00eb084d49fc09cf39b6e87826456d06
BLAKE2b-256 45576ed240d61d9f4d9272f45b1b121accb546b23edeea6d7a7b303d9e1195e8

See more details on using hashes here.

File details

Details for the file neonize-0.3.14.post0-py310-none-manylinux2014_x86_64.whl.

File metadata

  • Download URL: neonize-0.3.14.post0-py310-none-manylinux2014_x86_64.whl
  • Upload date:
  • Size: 6.7 MB
  • Tags: Python 3.10
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"22.04","id":"jammy","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for neonize-0.3.14.post0-py310-none-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9a6ebe18c8203cf8c1b2288f2dc8341a1a39aeda95d7a3c9f19984bd04f74c0d
MD5 d21ba2440268f225190825a3d938c3ea
BLAKE2b-256 776d4c6a520f0ed52125d90e375f5865cf3437191988e08c6636d404e6f0a008

See more details on using hashes here.

File details

Details for the file neonize-0.3.14.post0-py310-none-manylinux2014_s390x.whl.

File metadata

  • Download URL: neonize-0.3.14.post0-py310-none-manylinux2014_s390x.whl
  • Upload date:
  • Size: 6.7 MB
  • Tags: Python 3.10
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"22.04","id":"jammy","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for neonize-0.3.14.post0-py310-none-manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 3a29d6e9ef514d5a67081b42a5596d2e33831c77ef7809988273b1214446f037
MD5 8b12a5d2064ab07a67c44bd5a929384c
BLAKE2b-256 8a4c19c2095c98d456902a01daae3ecb51f696a26b64f378601ef22371c482f3

See more details on using hashes here.

File details

Details for the file neonize-0.3.14.post0-py310-none-manylinux2014_i686.whl.

File metadata

  • Download URL: neonize-0.3.14.post0-py310-none-manylinux2014_i686.whl
  • Upload date:
  • Size: 9.1 MB
  • Tags: Python 3.10
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"22.04","id":"jammy","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for neonize-0.3.14.post0-py310-none-manylinux2014_i686.whl
Algorithm Hash digest
SHA256 cf8b89b5a2b7d36b6f8897967ba602c6cbd20662cb4990e8bffca1db34cd3230
MD5 6654be162dbb84ff42d06aa9963a0f9b
BLAKE2b-256 a45be56a601d3717eed4acc4ce78ab5c2f8571eb314c97a2a2c23762f501e734

See more details on using hashes here.

File details

Details for the file neonize-0.3.14.post0-py310-none-manylinux2014_aarch64.whl.

File metadata

  • Download URL: neonize-0.3.14.post0-py310-none-manylinux2014_aarch64.whl
  • Upload date:
  • Size: 6.2 MB
  • Tags: Python 3.10
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"22.04","id":"jammy","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for neonize-0.3.14.post0-py310-none-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 b3ca6115044c7b8e4b754033417bcafb47da6d027e2135f67e9da8c264faebb8
MD5 59aef7fe82b03d68daeb310e4a3105c2
BLAKE2b-256 0d0db43cb840262b2a46d574fabd7d11103137af6a997bf2139a5c85c1bd8787

See more details on using hashes here.

File details

Details for the file neonize-0.3.14.post0-py310-none-macosx_12_0_x86_64.whl.

File metadata

  • Download URL: neonize-0.3.14.post0-py310-none-macosx_12_0_x86_64.whl
  • Upload date:
  • Size: 6.4 MB
  • Tags: Python 3.10, macOS 12.0+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for neonize-0.3.14.post0-py310-none-macosx_12_0_x86_64.whl
Algorithm Hash digest
SHA256 a649cd8977694f8b133fd03a3d9e24681fceed288ea2894cedeef512357f9b19
MD5 c6efa128c1005e6f06694c3d5afd290b
BLAKE2b-256 f8fabc05903a6c7010b8dd9499845ab17d8f5bb3874cb152f6be498b75efec35

See more details on using hashes here.

File details

Details for the file neonize-0.3.14.post0-py310-none-macosx_12_0_arm64.whl.

File metadata

  • Download URL: neonize-0.3.14.post0-py310-none-macosx_12_0_arm64.whl
  • Upload date:
  • Size: 6.0 MB
  • Tags: Python 3.10, macOS 12.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for neonize-0.3.14.post0-py310-none-macosx_12_0_arm64.whl
Algorithm Hash digest
SHA256 fa6c50ca8939db2ee3a6f8623b1ef8b5f2f9826329a50c98d953d3d6e274c05a
MD5 d271d592d822a4bf5b8613cb4f025a91
BLAKE2b-256 b64be483682c9369994e846eb5aea42bd9e59c84ec319e18113152d9e7f97524

See more details on using hashes here.

File details

Details for the file neonize-0.3.14.post0-py3-none-any.whl.

File metadata

  • Download URL: neonize-0.3.14.post0-py3-none-any.whl
  • Upload date:
  • Size: 509.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for neonize-0.3.14.post0-py3-none-any.whl
Algorithm Hash digest
SHA256 97ab510a24ac96ef9aaf214613eefa9c51665e712c739077e7596150d99e0412
MD5 7bbce8ee0b472b924e3c2c6aee01a73e
BLAKE2b-256 90ea7bd2bf394a3e025c7787caa1edb0ec3c3c4583de97c6163ff9bd285306ac

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page