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 single-line text images with auto-detected worker count
neots singleline --total 10000

# Generate with custom config and workers
neots singleline --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 SingleLineTextGenerator

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

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

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

# Batch generate (blocks until complete)
generated, failed = synth.generate(total=10000, workers=8, show_progress=True)
# print("generaed:", generated)
# print("failed:", failed)

# 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
SingleLineTextGenerator.output_default_dict("my_config.yaml", type="yaml")
SingleLineTextGenerator.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
vertical_prob 0.2 Probability of vertical text
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.

    Note: This strategy may produce shorter text, and fail generations if none of the characters are supported in the chosen font.

  • 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. auto-fallback is the default strategy and we recommend using it.

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.3.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.3.0-cp314-cp314-win_arm64.whl (23.7 MB view details)

Uploaded CPython 3.14Windows ARM64

neots-0.3.0-cp314-cp314-win_amd64.whl (24.0 MB view details)

Uploaded CPython 3.14Windows x86-64

neots-0.3.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (25.2 MB view details)

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

neots-0.3.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.3.0-cp314-cp314-macosx_11_0_arm64.whl (24.4 MB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

neots-0.3.0-cp313-cp313-win_arm64.whl (23.5 MB view details)

Uploaded CPython 3.13Windows ARM64

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

Uploaded CPython 3.13Windows x86-64

neots-0.3.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (25.2 MB view details)

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

neots-0.3.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.3.0-cp313-cp313-macosx_11_0_arm64.whl (24.4 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

neots-0.3.0-cp312-cp312-win_arm64.whl (23.5 MB view details)

Uploaded CPython 3.12Windows ARM64

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

Uploaded CPython 3.12Windows x86-64

neots-0.3.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (25.2 MB view details)

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

neots-0.3.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.3.0-cp312-cp312-macosx_11_0_arm64.whl (24.4 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

neots-0.3.0-cp311-cp311-win_arm64.whl (23.5 MB view details)

Uploaded CPython 3.11Windows ARM64

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

Uploaded CPython 3.11Windows x86-64

neots-0.3.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (25.2 MB view details)

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

neots-0.3.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.3.0-cp311-cp311-macosx_11_0_arm64.whl (24.4 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

neots-0.3.0-cp310-cp310-win_arm64.whl (23.5 MB view details)

Uploaded CPython 3.10Windows ARM64

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

Uploaded CPython 3.10Windows x86-64

neots-0.3.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (25.2 MB view details)

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

neots-0.3.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.3.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.3.0.tar.gz.

File metadata

  • Download URL: neots-0.3.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.3.0.tar.gz
Algorithm Hash digest
SHA256 fc197522a662d052cdde4dec2b3493fb530e3072f1fc23e26683dc4564ae81b9
MD5 418886ff5d5f35080a08055cfc41af09
BLAKE2b-256 e1c895df594d0fcb192bf03def89696e81c8523ef77f29362fdc2af5118622a6

See more details on using hashes here.

Provenance

The following attestation bundles were made for neots-0.3.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.3.0-cp314-cp314-win_arm64.whl.

File metadata

  • Download URL: neots-0.3.0-cp314-cp314-win_arm64.whl
  • Upload date:
  • Size: 23.7 MB
  • Tags: CPython 3.14, Windows ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for neots-0.3.0-cp314-cp314-win_arm64.whl
Algorithm Hash digest
SHA256 718eb2e89fa4e95723dc36b67f6480a46ffd4dcf5051f3e182d03ace159fca13
MD5 6afde46a1c6b67081ebec4943e58751b
BLAKE2b-256 1bf5785d81ff70b89f6d0958bde39c7641ab1e295bdf28d49b77cc02633aab09

See more details on using hashes here.

Provenance

The following attestation bundles were made for neots-0.3.0-cp314-cp314-win_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.3.0-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: neots-0.3.0-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 24.0 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.3.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 7dbe73009c68b2bd4a152966a98bafa2134ba066482654f3f500538423164fea
MD5 f46fa7589025e12a8ecd2e05c9c2622e
BLAKE2b-256 0ebbb5114d892d2faeafdbf2716be70023c1aee00bc3e4de8faa1af69024a738

See more details on using hashes here.

Provenance

The following attestation bundles were made for neots-0.3.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.3.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for neots-0.3.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 c8da2d5a0eab9368a94b15599a475ba8cbb3da3c4e63e585ea79fa07da4fdc89
MD5 8c4fe53f142c9adcd989edd70c06a009
BLAKE2b-256 b6c52f1e01fdb155fb133da096473c81c35915d194fa3a0896a8034c3784bc30

See more details on using hashes here.

Provenance

The following attestation bundles were made for neots-0.3.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.3.0-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for neots-0.3.0-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 701546f92088b558c5e777b20687b4b7aae450dc6202e5d8dc0df9d39db0cf13
MD5 9e14cbd8f733b94f9bcbfdcdbfe7657f
BLAKE2b-256 15ba6bfffbe9493f6887f8a6bc13d5155d73f04d640cd66410a30958848533a2

See more details on using hashes here.

Provenance

The following attestation bundles were made for neots-0.3.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.3.0-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for neots-0.3.0-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 fb81f36e784bf3d65df71ed5b28624bfe2cc1ca53a0bd6b7395699e9f29f3233
MD5 206d811711ce3ab4ac7af2cc80587a3c
BLAKE2b-256 a59c7fd3ba38b331e8ead094cf27777a90ec06755eb40a9b4ac23a46e1958d7b

See more details on using hashes here.

Provenance

The following attestation bundles were made for neots-0.3.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.3.0-cp313-cp313-win_arm64.whl.

File metadata

  • Download URL: neots-0.3.0-cp313-cp313-win_arm64.whl
  • Upload date:
  • Size: 23.5 MB
  • Tags: CPython 3.13, Windows ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for neots-0.3.0-cp313-cp313-win_arm64.whl
Algorithm Hash digest
SHA256 21edd426192ac2ff76244f6f402c0dddb58b80a66fab8ac507c8a82b1fd2716c
MD5 2945c2128c676a52ab105db27b58e447
BLAKE2b-256 a48741e45bfa31c421ce3d85ba31384a0b478381e99764caa7cb181c7050687a

See more details on using hashes here.

Provenance

The following attestation bundles were made for neots-0.3.0-cp313-cp313-win_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.3.0-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: neots-0.3.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.3.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 9286ef80129cf9776af48dfe422a6901198cebf1a5f6c258612e0eeee81204ed
MD5 3b537351b4d2edc14a8bfd3cf53d2400
BLAKE2b-256 5d0f56b45b6a1ddb8175c0ce4039a211ea81c3b3409909a5ec21658b4a7aeee4

See more details on using hashes here.

Provenance

The following attestation bundles were made for neots-0.3.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.3.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for neots-0.3.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 4e3378ff05248ad75d4c262f0d72eccad0aea9fcd4e382cc689af2b886d1856c
MD5 d52ac1af0e5abcbb09f8aa6b8dd94ccc
BLAKE2b-256 289e166263104ef88328b26707d81d46677c523b08c06c5dfd7ca9084930e2f4

See more details on using hashes here.

Provenance

The following attestation bundles were made for neots-0.3.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.3.0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for neots-0.3.0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 4d09d94c9c753d70a596b6330ff43fddf249736f306d2e28454f746cb71a95c7
MD5 0ba0e66a74c8721bfe138d1414d39257
BLAKE2b-256 4fc8a3ae99521859b294a3626c836d809550393b24efa9e30dd76aab902080ea

See more details on using hashes here.

Provenance

The following attestation bundles were made for neots-0.3.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.3.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for neots-0.3.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f0d5910c4611a67ffea5445b942f2f77c8232e8fe9a0f2cab47e09bc72fcea77
MD5 a25862dd11ba8cb45fe3ba332b95dc05
BLAKE2b-256 d3833f74bad1ad31766aff687cafcb465e060abf34d6f69b4c55829fe23aa263

See more details on using hashes here.

Provenance

The following attestation bundles were made for neots-0.3.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.3.0-cp312-cp312-win_arm64.whl.

File metadata

  • Download URL: neots-0.3.0-cp312-cp312-win_arm64.whl
  • Upload date:
  • Size: 23.5 MB
  • Tags: CPython 3.12, Windows ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for neots-0.3.0-cp312-cp312-win_arm64.whl
Algorithm Hash digest
SHA256 0ca7f5fd8a6b4297e0f104599429a5a0a63930c085445650bcd4110e3aa44d5f
MD5 b8550e82f2bddd05dfee95b2133c2e90
BLAKE2b-256 fe3a5501a54557bac9a6ef265dbbb6cbab310feddea5af08356c23e14a08a38b

See more details on using hashes here.

Provenance

The following attestation bundles were made for neots-0.3.0-cp312-cp312-win_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.3.0-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: neots-0.3.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.3.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 7d6fb22f51c8d27ed48007e5d7b9f96649ab346c09e14b55ec96e33739f0fa79
MD5 dc0c5717c13c71776437b01c6cffce26
BLAKE2b-256 0e6432e762fe939864fa42dadadfad9ff7bb59463b33e1715fbcf8be5bc35afd

See more details on using hashes here.

Provenance

The following attestation bundles were made for neots-0.3.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.3.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for neots-0.3.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 8b943fa20d8f75d374c5ab495e7acd9a29a766d85c1b20204a8fcd6205ea29fa
MD5 4272a7533f1a8029a13a0c95a84c1c2d
BLAKE2b-256 6ff939762dbc416948000ec33d7c83f9c1d91f898051ccb514552a34b4c416af

See more details on using hashes here.

Provenance

The following attestation bundles were made for neots-0.3.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.3.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for neots-0.3.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 7a3b814e2477bb56752702b56778687c2a65065d6b6a78927d397551fb4b2c4a
MD5 f1a98198591d6a9f2ee576d4ffa5bc11
BLAKE2b-256 dcc29615ef4f92c96542ec51ff59cb93b85a32b29a6aa1d66feae69ca1cf0c3e

See more details on using hashes here.

Provenance

The following attestation bundles were made for neots-0.3.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.3.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for neots-0.3.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 35ced904a3d022e4a7250638385c2cf8af4d20678c1aa63f0cec1c783954f8eb
MD5 da3b9f9a0d006241cd68a055b086ca18
BLAKE2b-256 69c152a1a57e16c203fac1c5ddf7b43a8e0ac433acdf5b2018ced61dffe0be3e

See more details on using hashes here.

Provenance

The following attestation bundles were made for neots-0.3.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.3.0-cp311-cp311-win_arm64.whl.

File metadata

  • Download URL: neots-0.3.0-cp311-cp311-win_arm64.whl
  • Upload date:
  • Size: 23.5 MB
  • Tags: CPython 3.11, Windows ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for neots-0.3.0-cp311-cp311-win_arm64.whl
Algorithm Hash digest
SHA256 ffe3d083cdba46088c4c3192da5e636ccbf07253240f93f04c07de029ada3d6b
MD5 35b9e96bfa06423a54705445e35632ec
BLAKE2b-256 4637dad55df82bc5d5bc564dd66d12fc9f70734c1526f6431427c0fe726a8bca

See more details on using hashes here.

Provenance

The following attestation bundles were made for neots-0.3.0-cp311-cp311-win_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.3.0-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: neots-0.3.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.3.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 176291816eab5a12cfb483129db66d0060e915f9ea1e19348b65f725f6792902
MD5 ae14dba292eff39f255ade62d250b653
BLAKE2b-256 676acbbef771a6cb2f5f0e42a6f5497abfcd7ab1fb1daa183e3492bc82996b62

See more details on using hashes here.

Provenance

The following attestation bundles were made for neots-0.3.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.3.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for neots-0.3.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 453d814ce6e932ec8ee21b4e4efbde804962f3d8741b57ffb3a0f25919441ae4
MD5 3b07d5b72f60c6b0488c85559025f39c
BLAKE2b-256 55aada0dfa5605a2997f07c22c3436e7b9d50f549eb35eab3b5d286ee2d86656

See more details on using hashes here.

Provenance

The following attestation bundles were made for neots-0.3.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.3.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for neots-0.3.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 e6489c3a90352039992c9289ce252efca8b56b6d87d410a4496302410b24a7cd
MD5 166282b2986065939f4675b725579779
BLAKE2b-256 06eb4cd7558843a1fc237c86eb065b3a7345acd839ea56bc383a63c627f2198d

See more details on using hashes here.

Provenance

The following attestation bundles were made for neots-0.3.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.3.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for neots-0.3.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7fc2273ca779833700fe11162bca7caeb9747387e83b1835744cb1a383bad97b
MD5 581191be0eff0d50e960e311785e14ba
BLAKE2b-256 5048054df41016490f32765f80e3cdd7654fc5b8c5626c24d48476d8609383ab

See more details on using hashes here.

Provenance

The following attestation bundles were made for neots-0.3.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.3.0-cp310-cp310-win_arm64.whl.

File metadata

  • Download URL: neots-0.3.0-cp310-cp310-win_arm64.whl
  • Upload date:
  • Size: 23.5 MB
  • Tags: CPython 3.10, Windows ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for neots-0.3.0-cp310-cp310-win_arm64.whl
Algorithm Hash digest
SHA256 c5d5d9a337305bcefff92becf6dee6b6b416ed965970e8b52f796748cc4bfc64
MD5 99ac61c057c21ac84db5626fb4c08c01
BLAKE2b-256 c346f8a0b89db818f786b35d03e0bbd392f12cf6e923545d6bfd8a217e03035e

See more details on using hashes here.

Provenance

The following attestation bundles were made for neots-0.3.0-cp310-cp310-win_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.3.0-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: neots-0.3.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.3.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 59573db049be5060b5c6ef0099bb4adb6558fa75c41843d736a6868b78b1a716
MD5 a971839fef03ddde2898292f6a256a20
BLAKE2b-256 86607552eb85c2edae0bcd883a64bfc0de198dc1c9b36b1eb19537c2d31d75cd

See more details on using hashes here.

Provenance

The following attestation bundles were made for neots-0.3.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.3.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for neots-0.3.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 0f977dad30435fda58659d43889dbb43cca56ee408f918707aa83823056bb87e
MD5 3e3c521d7bca0ec87da91ca22ebdb723
BLAKE2b-256 c0b5b8da95001666b4cbd9a96d3df3e9d2ec804fd359ce42aede825b72dd7319

See more details on using hashes here.

Provenance

The following attestation bundles were made for neots-0.3.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.3.0-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for neots-0.3.0-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 d5f8f748c83e8c1d84e6e7fbbb3ca53763b911989dd206e9fae48b6b8bd2132a
MD5 15e4766abcc023cc35a82c7c1debc96d
BLAKE2b-256 dc5d58fe961d68f90b4e40a5355e6ec1d2f00253b290584415c50aeca80f694a

See more details on using hashes here.

Provenance

The following attestation bundles were made for neots-0.3.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.3.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for neots-0.3.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 fe39b60fb7f7c0ad35b5647dd9aa2b63a2aed370ea165327ea6c88a0e56743a3
MD5 943b0f5d4242e265b90f7f3afd53e09b
BLAKE2b-256 ff5aca23a8c6465c0ba894e93bbd7b38bdf6cd2c4b83d21d09965237a00f6735

See more details on using hashes here.

Provenance

The following attestation bundles were made for neots-0.3.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