Skip to main content

NeoTextSynthesizer - High-performance OCR training data generator

Project description

NeoTextSynthesizer (neots)

NeoTextSynthesizer is a high-performance synthetic OCR training data generator built with C++.

NeoTextSynthesizer generates realistic text images with diverse fonts, backgrounds, and visual effects — ideal for training Text Recognition models.

Features

  • High Performance: Multi-threaded C++ core with shared glyph cache, background image cache, and lock-free rendering pipeline
  • Multi-language Support: Built-in support for Chinese (Simplified & Traditional), Japanese, Korean, English, German, French, Italian, Spanish, Russian, and extensible to any language
  • Flexible Text Sampling: Sequential corpus streaming and random character sampling with nested probability-weighted groups
  • Rich Visual Effects: Random fonts, font sizes, scale variations, italic/underline/strikethrough effects, diverse backgrounds (solid colors, gradients, real images)
  • Python Integration: Full Python API via nanobind with NumPy/PIL support
  • CLI Tools: neots for workspace initialization and batch generation, flat-wiki for Wikipedia corpus generation
  • Cross-platform: Supports Linux x86_64, Linux AArch64, macOS ARM64, and Windows x86_64

Installation

Install pre-built wheels from PyPI:

pip install neots

Quick Start

CLI Usage

# Initialize a workspace
neots init

# Generate 10,000 images
neots generate --total 10000

# Generate with custom config and workers
neots generate --config config.yaml --total 50000 --workers 8

# Show help
neots help

Wikipedia Corpus Generation (CLI)

# Generate a Chinese corpus from Wikipedia
flat-wiki --lang zh --output ./corpuses/zh.txt --min_len 5 --sample_count 10000

# Generate with vocabulary filter
flat-wiki -l en -o ./corpuses/en.txt -v dictionary.txt -n 5000

Python API

from neots import NeoTextSynthesizer

# Initialize from config file
synth = NeoTextSynthesizer.from_config_file("config.yaml")

# Initialize from a dictionary
config = NeoTextSynthesizer.get_default_config()
config["generate"]["output_height"] = 64
synth = NeoTextSynthesizer.from_config(config)

# Initialize from built-in default preset
synth = NeoTextSynthesizer.from_default()          # full preset
synth = NeoTextSynthesizer.from_default("minimal")  # minimal preset

# Batch generate (blocks until complete)
synth.generate(total=10000, workers=8, show_progress=True)

# Generate single image as PIL Image
img = synth.generate_instance("Hello World", type="PIL")
img.save("sample.png")

# Generate as NumPy array (H, W, 3) RGB
arr = synth.generate_instance("测试文本", type="numpy")

# Save directly to file
synth.generate_instance("サンプル", type="file", path="output.png")

# Export default config
NeoTextSynthesizer.output_default_dict("my_config.yaml", type="yaml")
NeoTextSynthesizer.output_default_dict("my_config.json", type="json")

Corpus Generation (Python API)

from neots import FlattenWikipediaGenerator

gen = FlattenWikipediaGenerator(
    lang="zh",                        # Language code
    output="./corpuses/zh.txt",       # Output file path
    vocab="dictionary_extended.txt",  # Optional: filter by vocabulary
    min_len=5,                        # Minimum line length
    sample_count=10000,               # Number of articles to process
)
gen.generate()

Configuration

Configuration is structured into four sections. See config.yaml for a complete example after initialization.

text_sampler

Controls the basic text sampling parameters and font selection strategy.

Parameter Default Description
min_targets 5 Minimum characters per image
max_targets 50 Maximum characters per image
font_size 55 Base font size in pixels
sample_strategy "font-first" Strategy for handling missing characters: "font-first", "sample-first", or "auto-fallback"
font_list ["./fonts"] List of font files or directories containing fonts

Sample Strategies

  • font-first: Selects a font first, then samples text. Any characters not supported by the chosen font are discarded. (Fastest)
  • sample-first: Samples text first, then finds a font that supports all characters. If none exists, chooses the font with the highest coverage and discards unsupported characters.
  • auto-fallback: Selects a primary font and samples text. For unsupported characters, it attempts to find a fallback font to render them. (Slowest but most comprehensive)

random_config

Defines how text strings are sampled for rendering. Each entry has a probability weight and a data source.

Type Description
sequential Streams text from a flat file. Ideal for natural language corpuses.
random Randomly samples from character files or nested sub-groups.
random_config:
  # Stream Chinese text from a corpus file
  - type: sequential
    prob: 0.20
    from_file: ./corpuses/zh.txt

  # Random character sampling with nested groups
  - type: random
    prob: 0.20
    sub_items:
      - prob: 0.4
        from_file: ./symbols_characters/characters.txt
        section: [~, 3500]    # First 3500 lines only
      - prob: 0.1
        from_string: " "      # Inline source

Key parameters:

  • prob: Probability weight (auto-normalized)
  • from_file / from_string: Data source
  • section: [start, end]: Slice of lines (~ = null = beginning/end)
  • sub_items: Nested probability groups (recursive)
  • traditional_prob: Probability of simplified → traditional Chinese conversion

bg_sampler

Controls background selection:

Parameter Default Description
bg_image_prob 0.3 Probability of using a real background image
gray_bg_prob 0.7 Probability of gray vs. colored background
bg_list ["./backgrounds"] List of background image files or directories

post_process

Controls visual appearance:

text_effects

Parameter Default Description
effect_prob 0.2 Probability of text effects (italic/underline/strikethrough)
partial_effect_prob 0.8 Probability that effects apply to only part of the text

text_paste

Parameter Default Description
scale_range [0.7, 1.1] Random scale factor range
recompute_width true Recompute width after scaling
margin_range [-5, 20] Horizontal margin range (pixels)
offset_prob 0.5 Probability of random position offset
h_offset_range [-7, 7] Horizontal offset range
v_offset_range [-5, 5] Vertical offset range

generate

Controls output structure:

Parameter Default Description
output_height 48 Output image height (width auto-calculated)
out_dir ./generated Output image directory
out_jsonl ./generated.jsonl Annotation file path
batchsize 10000 JSONL write batch size
hierarchical_structure [100, 625] Directory nesting levels

Font Setup

By default, neots uses its built-in default font NotoSerifCJK-Regular.ttc in fonts/. Place diverse .ttf / .otf / .ttc font files in the fonts/ directory. The system will automatically index them and use them according to your chosen sample_strategy. More fonts = better model generalization. Aim for 50-200+ fonts covering your target scripts.

Background Images

For realistic training data, add images to backgrounds/ and set bg_image_prob > 0.

Supported formats: .jpg, .jpeg, .png, .bmp, .webp

Output Format

Generated images are saved as PNG files in a hierarchical directory structure:

generated/
├── 00000001/
│   ├── 00000001/
│   │   ├── 00000001.png
│   │   ├── 00000002.png
│   │   └── ...
│   └── ...
└── ...

Annotations are saved in JSONL format (generated.jsonl):

{"image":"00000001/00000001/00000001.png","text":"示例文本","length":248}
{"image":"00000001/00000001/00000002.png","text":"Sample text","length":315}

Each line contains:

  • image: Relative path to the image file
  • text: The rendered text content
  • length: Image width in pixels

Development

This project uses vcpkg to manage native C++ dependencies, and uses scikit-build-core + nanobind for the Python/C++ bridge. Development is now based on configuring the environment with vcpkg and building from source.

Supported Platforms

  • Linux x86_64
  • Linux AArch64
  • macOS ARM64
  • Windows x86_64

Build from Source with vcpkg

Windows

git clone https://github.com/microsoft/vcpkg.git
.\vcpkg\bootstrap-vcpkg.bat
$env:CMAKE_TOOLCHAIN_FILE="$PWD\vcpkg\scripts\buildsystems\vcpkg.cmake"
pip install -e . --no-build-isolation

macOS

git clone https://github.com/microsoft/vcpkg.git
./vcpkg/bootstrap-vcpkg.sh
export CMAKE_TOOLCHAIN_FILE="$PWD/vcpkg/scripts/buildsystems/vcpkg.cmake"
pip install -e . --no-build-isolation

Linux

git clone https://github.com/microsoft/vcpkg.git
./vcpkg/bootstrap-vcpkg.sh
export CMAKE_TOOLCHAIN_FILE="$PWD/vcpkg/scripts/buildsystems/vcpkg.cmake"
pip install -e . --no-build-isolation

If you prefer to build the native extension directly with CMake, make sure CMAKE_TOOLCHAIN_FILE points to the vcpkg toolchain before configuring the project.

Donate

This project is maintained by a single person, so the documentation is not yet fully comprehensive and the feature set is still relatively limited.

If you would like to support the project, the most valuable help is:

  • submitting pull requests
  • actively opening issues when you encounter problems during usage

License

This project is licensed under the MIT License. See LICENSE for details.

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

neots-0.2.0.tar.gz (21.4 MB view details)

Uploaded Source

Built Distributions

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

neots-0.2.0-cp314-cp314-win_amd64.whl (23.9 MB view details)

Uploaded CPython 3.14Windows x86-64

neots-0.2.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (25.1 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

neots-0.2.0-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (25.0 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.27+ ARM64manylinux: glibc 2.28+ ARM64

neots-0.2.0-cp314-cp314-macosx_11_0_arm64.whl (24.4 MB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

neots-0.2.0-cp313-cp313-win_amd64.whl (23.7 MB view details)

Uploaded CPython 3.13Windows x86-64

neots-0.2.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (25.1 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

neots-0.2.0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (25.0 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.27+ ARM64manylinux: glibc 2.28+ ARM64

neots-0.2.0-cp313-cp313-macosx_11_0_arm64.whl (24.4 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

neots-0.2.0-cp312-cp312-win_amd64.whl (23.7 MB view details)

Uploaded CPython 3.12Windows x86-64

neots-0.2.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (25.1 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

neots-0.2.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (25.0 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.27+ ARM64manylinux: glibc 2.28+ ARM64

neots-0.2.0-cp312-cp312-macosx_11_0_arm64.whl (24.4 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

neots-0.2.0-cp311-cp311-win_amd64.whl (23.7 MB view details)

Uploaded CPython 3.11Windows x86-64

neots-0.2.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (25.1 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

neots-0.2.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (25.0 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.27+ ARM64manylinux: glibc 2.28+ ARM64

neots-0.2.0-cp311-cp311-macosx_11_0_arm64.whl (24.4 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

neots-0.2.0-cp310-cp310-win_amd64.whl (23.7 MB view details)

Uploaded CPython 3.10Windows x86-64

neots-0.2.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (25.1 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

neots-0.2.0-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl (25.0 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.27+ ARM64manylinux: glibc 2.28+ ARM64

neots-0.2.0-cp310-cp310-macosx_11_0_arm64.whl (24.4 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

Details for the file neots-0.2.0.tar.gz.

File metadata

  • Download URL: neots-0.2.0.tar.gz
  • Upload date:
  • Size: 21.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for neots-0.2.0.tar.gz
Algorithm Hash digest
SHA256 c23dc99fdae7db414717249513435c939865d0c27d8b070e04156aef31d720d7
MD5 bab1440318dd5a9b5ed30ab3df9a683e
BLAKE2b-256 e156a17dbb670329aa2059dd4669a53aca6a5034300c36d6794c2a968dec7777

See more details on using hashes here.

Provenance

The following attestation bundles were made for neots-0.2.0.tar.gz:

Publisher: workflow.yml on reactor-no8/NeoTextSynthesizer

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file neots-0.2.0-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: neots-0.2.0-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 23.9 MB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for neots-0.2.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 369b2cf76e53d11e5385140503e8b1d5eeed4b0aebedb5e68e4a8b5a7cff4786
MD5 f05c2cdabcc64041633edcc132a5a73f
BLAKE2b-256 dac4c6ca1d932202bb33411856b3a9b93dc584a39e82b4fe364a655b011d43b5

See more details on using hashes here.

Provenance

The following attestation bundles were made for neots-0.2.0-cp314-cp314-win_amd64.whl:

Publisher: workflow.yml on reactor-no8/NeoTextSynthesizer

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file neots-0.2.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for neots-0.2.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 a6d24891ea9b9b3f48da9b471506232a6557cbae63ccc2326437ba94b57c6635
MD5 8930d2ed186b38c22c765b5de1d6f7bb
BLAKE2b-256 ef186fd9e317f02053eb71537e023bd7b95091af612c97b48feeff26ff202393

See more details on using hashes here.

Provenance

The following attestation bundles were made for neots-0.2.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: workflow.yml on reactor-no8/NeoTextSynthesizer

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file neots-0.2.0-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for neots-0.2.0-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 baff7d27c190d7854cd4da9b5b923f1c70c4f44de67be634b7b02a5713131799
MD5 961ebcb50df3e5ab6b4c9d4dd3566e52
BLAKE2b-256 82a3beab0ce8f7ca42c1af4519414da8fdce697d4b66af51724c1fdeafb0cde6

See more details on using hashes here.

Provenance

The following attestation bundles were made for neots-0.2.0-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl:

Publisher: workflow.yml on reactor-no8/NeoTextSynthesizer

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file neots-0.2.0-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for neots-0.2.0-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b3e62970fe703a3e3ce110124f06dd6cce23b3d7f87519a544aa82a92ac1d8e1
MD5 d4779c3056465f38d683a564bc0e9295
BLAKE2b-256 f37003ec792d7ef6485e0cadfb128db12d803de1e8ac7ce0ea2a6bab155494d7

See more details on using hashes here.

Provenance

The following attestation bundles were made for neots-0.2.0-cp314-cp314-macosx_11_0_arm64.whl:

Publisher: workflow.yml on reactor-no8/NeoTextSynthesizer

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file neots-0.2.0-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: neots-0.2.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 23.7 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for neots-0.2.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 d76be72aa3df76d9bcff0cf26bac58aedaedc6b59bca1092ceaf26c8114eef57
MD5 5c3ca54afe9bb07be34fa570b1ee03ff
BLAKE2b-256 83c5a32ac4500f996043578d3b7e0fc98abe01d38b49ddd93be5ebf639875e7b

See more details on using hashes here.

Provenance

The following attestation bundles were made for neots-0.2.0-cp313-cp313-win_amd64.whl:

Publisher: workflow.yml on reactor-no8/NeoTextSynthesizer

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file neots-0.2.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for neots-0.2.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 8217c8b7ff9eed976b06ed590faf80fc6e95521a8292fcbb9a5af704483b59d9
MD5 bde66c89b718dffe329012c2c46fde43
BLAKE2b-256 f03caacca65fcd27c3ff3640e79108805daaf70070e77b9fc1c155f5c02b90e1

See more details on using hashes here.

Provenance

The following attestation bundles were made for neots-0.2.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: workflow.yml on reactor-no8/NeoTextSynthesizer

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file neots-0.2.0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for neots-0.2.0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 68064a78e9a1b74e9299ecdfc59f64ba98d4272b37fbbbfa40c7ab4a46f2649d
MD5 ce571eb6e58cca6e0c61ccfb73939a57
BLAKE2b-256 db39a4d4a5a96ffe91b881edbc37602500c2203f315c4dec38ff37c675d9337c

See more details on using hashes here.

Provenance

The following attestation bundles were made for neots-0.2.0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl:

Publisher: workflow.yml on reactor-no8/NeoTextSynthesizer

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file neots-0.2.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for neots-0.2.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0223f94dad3ccbf7309b17177c96cd2313b108017091878f41a16fb8303ec46d
MD5 1e2f556e5d3f40721b67077a31b4034a
BLAKE2b-256 0b2220aeb77c3c46a501faf972855268d39596673dd0d40edac07afbd43e1c1c

See more details on using hashes here.

Provenance

The following attestation bundles were made for neots-0.2.0-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: workflow.yml on reactor-no8/NeoTextSynthesizer

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file neots-0.2.0-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: neots-0.2.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 23.7 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for neots-0.2.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 b9634b350382679541304ef911aa189112909da1861f45fbd747e8fb8e67c07d
MD5 0e5bcbfb4d58bef987dbca5a9fbdd91f
BLAKE2b-256 10ec8d42f6cf70aa5b66fdfcc4a2469190697a3a0bfeb7584946badaaa6db412

See more details on using hashes here.

Provenance

The following attestation bundles were made for neots-0.2.0-cp312-cp312-win_amd64.whl:

Publisher: workflow.yml on reactor-no8/NeoTextSynthesizer

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file neots-0.2.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for neots-0.2.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 8b2e256ea23a475727918d2a4f651eb51f86a7f9f1b054675ba76026b52d6ba4
MD5 b21929a52fb7e20e99fe2cc3a4efdf59
BLAKE2b-256 a3a7f3b8ca251b44c7fc5bda2e42a93ed77177d07caa70ce722293f508a9ed75

See more details on using hashes here.

Provenance

The following attestation bundles were made for neots-0.2.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: workflow.yml on reactor-no8/NeoTextSynthesizer

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file neots-0.2.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for neots-0.2.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 834463a1428b8ac97eab13bdaffc957a0b4a7b26a21a3335d28b906996fd607b
MD5 94843dd081462a8be1ab8720bdd2be39
BLAKE2b-256 eeb0a491942f5bf1e0bf905d8f26f0f47e9bbba5866cc9a61e604d249d80a2e6

See more details on using hashes here.

Provenance

The following attestation bundles were made for neots-0.2.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl:

Publisher: workflow.yml on reactor-no8/NeoTextSynthesizer

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file neots-0.2.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for neots-0.2.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0a072499bffa7058c67058c7bde5134303cb50df8699fff2b550ad03d0c4a0d0
MD5 678d2fb6d0a49f81994b2b16e39dfeb5
BLAKE2b-256 c51bf5cc1860ee65bd485efe84232ba28dd5cd8f023d6b9850b801d7c84756b4

See more details on using hashes here.

Provenance

The following attestation bundles were made for neots-0.2.0-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: workflow.yml on reactor-no8/NeoTextSynthesizer

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file neots-0.2.0-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: neots-0.2.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 23.7 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for neots-0.2.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 3518c583257302bfd8b0e1980cab58cfb1438f7273ad5c03ac2e799a918add81
MD5 7c15c0acaf6dd3198a8e20e436d511a3
BLAKE2b-256 de80cb424860bb43d2b7cc71c555294a2de5d72fac349a33d11398ecf4e67f34

See more details on using hashes here.

Provenance

The following attestation bundles were made for neots-0.2.0-cp311-cp311-win_amd64.whl:

Publisher: workflow.yml on reactor-no8/NeoTextSynthesizer

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file neots-0.2.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for neots-0.2.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 73a1e9f90b8a2a1d3bec1e523bd4c8a6164966f93497dc65297ce8b5769f0766
MD5 acffd9446c42b7abae91aec68d492aee
BLAKE2b-256 7c1da9ff7c547ce2cd30da05425d5a5d3bde7fcdbf5a0fc02844b2375351fa77

See more details on using hashes here.

Provenance

The following attestation bundles were made for neots-0.2.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: workflow.yml on reactor-no8/NeoTextSynthesizer

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file neots-0.2.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for neots-0.2.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 64130a7dc882db2e433377349047eba2615b29de1df06b8298a0e62938d1ce1a
MD5 2d2ba91de77df0dda6dc9366b65d5891
BLAKE2b-256 7cf44baeea7cac55bd389ba7d9db685d4efd9695d62b2b917754b074496b111c

See more details on using hashes here.

Provenance

The following attestation bundles were made for neots-0.2.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl:

Publisher: workflow.yml on reactor-no8/NeoTextSynthesizer

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file neots-0.2.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for neots-0.2.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a9aa80cf41ca115f69e31fd76c881088356b6dc8d18335ab2ff09b7a359ae8a2
MD5 a473bea844370747d7285e88f1503bf2
BLAKE2b-256 2f38992f8235e598578f3dad124e10c45eff08c762754c6fde3dd3be53aac8f8

See more details on using hashes here.

Provenance

The following attestation bundles were made for neots-0.2.0-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: workflow.yml on reactor-no8/NeoTextSynthesizer

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file neots-0.2.0-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: neots-0.2.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 23.7 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for neots-0.2.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 0dc0b9dcd58db246f5ec2c1108c3686a92c4d95ae04758d07a5e67db61726353
MD5 7c191107d499b0b55a5a87ccda628c28
BLAKE2b-256 3b1af0fe3e0b818d236ffe1430f0fd8400bb0503d81f630b97ecb6b24e6c492a

See more details on using hashes here.

Provenance

The following attestation bundles were made for neots-0.2.0-cp310-cp310-win_amd64.whl:

Publisher: workflow.yml on reactor-no8/NeoTextSynthesizer

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file neots-0.2.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for neots-0.2.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 644f7ccfbe5a4bf906594f19435a9d6e74ca3c6063046af9588efd635b0a7570
MD5 0234c6160cab463871d51b5249bea2bf
BLAKE2b-256 bef3dd966a0729f68999ca5b965371cf9250892b9e0b961edbf4e1c90bc69e82

See more details on using hashes here.

Provenance

The following attestation bundles were made for neots-0.2.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: workflow.yml on reactor-no8/NeoTextSynthesizer

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file neots-0.2.0-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for neots-0.2.0-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 d3121f53aa55b1996bcc94638d8d0d3cd338c17364657f532732f37904ce81a8
MD5 1b475434b5ed7802b6d5238127d613d4
BLAKE2b-256 c6db19c6e87ba24da8624236e2566d4ff03617d70a312513d8957e6ca1ac1e0f

See more details on using hashes here.

Provenance

The following attestation bundles were made for neots-0.2.0-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl:

Publisher: workflow.yml on reactor-no8/NeoTextSynthesizer

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file neots-0.2.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for neots-0.2.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6ab2acec457528c0c1e8b4f6342e58445272588f1c331331b20eb303676a4e92
MD5 2166042b6b238eef8e452615b431a9ce
BLAKE2b-256 a939c84bc226750aa996701a037effa8f1816dcac8c250e1c31acee26bcdb428

See more details on using hashes here.

Provenance

The following attestation bundles were made for neots-0.2.0-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: workflow.yml on reactor-no8/NeoTextSynthesizer

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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