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

Uploaded CPython 3.14Windows ARM64

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

Uploaded CPython 3.14Windows x86-64

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

Uploaded CPython 3.14macOS 11.0+ ARM64

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

Uploaded CPython 3.13Windows ARM64

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

Uploaded CPython 3.13Windows x86-64

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

Uploaded CPython 3.13macOS 11.0+ ARM64

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

Uploaded CPython 3.12Windows ARM64

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

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.11Windows ARM64

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

Uploaded CPython 3.11Windows x86-64

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

Uploaded CPython 3.11macOS 11.0+ ARM64

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

Uploaded CPython 3.10Windows ARM64

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

Uploaded CPython 3.10Windows x86-64

neots-0.3.1-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.1-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.1-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.1.tar.gz.

File metadata

  • Download URL: neots-0.3.1.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.1.tar.gz
Algorithm Hash digest
SHA256 6fb04fbce316ed1c1b84fd5e37fea4b7760a4ae26a56a96bb05844b6949b97bd
MD5 4ec85a548b60edd7a8f02ed55a2100d8
BLAKE2b-256 b6664c0c56fa0f0457aeb360b0cd8b03abd3a10fb73b6ef8e8aa3dd3a70e78c4

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: neots-0.3.1-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.1-cp314-cp314-win_arm64.whl
Algorithm Hash digest
SHA256 98c51624ae6556ca39d514bc06a8930010db510e5f08204534a123091ab3bb0d
MD5 66c63e5d5bfc089243fa8df96fda1af1
BLAKE2b-256 efe59df4416e9cc58500ab60c42c0b0757b484270b007a7df4d38f48df3aca10

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: neots-0.3.1-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.1-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 ced0d3eb9a138b61c5592c901588eeaae5eccd2d2c26a743831c6179608717ca
MD5 9871a2d80be780cd12c462ca0be35f4c
BLAKE2b-256 3587850497d402296bc9b4478e657a5cde09d504b8fab61bbd3f9ea506e28e70

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for neots-0.3.1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 1274d05f21506e18bf8d0fbf8f1461b9d8474086efc70f09c986a130f8056c86
MD5 872f89028b436b024656b1b7db122255
BLAKE2b-256 2b693bfb1d1b04977123815067a77f4e70cf50f04d487c43cf7cf4602b2104e4

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for neots-0.3.1-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 c97da77be4fe73211272315c2fdd42c5807befd4c934702ddd2a502e41704171
MD5 927b87a8d48a34a68f09d6e15f952e97
BLAKE2b-256 5b4628f3b3bc3288eb5369aa645f2f0c21c61702b96b60b0119411e18542f100

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for neots-0.3.1-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3fb93cc47893707fa6a8e45c5486a40b5441a86bb3073aef015a31068db8ef93
MD5 371d6d4767c3297abbfdbe87fc716a35
BLAKE2b-256 3ea70633b09768e280c2b4423ea1409f21610348a9153913d65626c7acc90199

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: neots-0.3.1-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.1-cp313-cp313-win_arm64.whl
Algorithm Hash digest
SHA256 06399dface5649364af64340f3e23da441155e7f9b18086c9207f5384e143b12
MD5 94d4be68b3bfe15d6d009e0ce2dbaeac
BLAKE2b-256 5748a77353e070420909f2b457ed4ae0caa1f654eb40412e919a1cfd31b07d21

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: neots-0.3.1-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.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 b8b92defece4ca7b4d8b2380cdc375d56bbad67f365808b4dd5328a72e1331bb
MD5 b50095d6ee578be0f83aa4cf579aa779
BLAKE2b-256 95cdcbd48a6efdba5615da3e35c0eff44bfb4a4e0143f4f43c7647d78a8026d8

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for neots-0.3.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 53a785fae957e74caeafd8dd9b25fc9c68de8dac2a2de0dbdb1f43c5a1b472a2
MD5 d88d1811af90efad87808a17c3378b4e
BLAKE2b-256 e005b2f9fce58b3018799c8ae6eb1fe5ef3c27f35ef019c0cce7833f4dcac5a2

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for neots-0.3.1-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 9734934233284293194ea3f50279b5df04b92e85304c153dd1c524d6af63e2ca
MD5 273842d2402d21eb705917a0db92f18c
BLAKE2b-256 cd04ac039e8b497a8818337ee9ad8f86687e61dbf4c63a5be95052f65f1260fb

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for neots-0.3.1-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7b6acf93eb36dc1b555e17ec2d9fcb011d3a89a371735a0dd92c0d3e5d011e37
MD5 c3406bc2e533b72e126868e1400880f1
BLAKE2b-256 efc259ccf154e247be9f6fd208b8e27c77f89d17ce27ffb3314078097ca9b232

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: neots-0.3.1-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.1-cp312-cp312-win_arm64.whl
Algorithm Hash digest
SHA256 e5e10da3673e20c3a574e3ea954a88cf63897258f744fb822acf9489ab65db58
MD5 9cf6af05d4200b32e749523e2773eb17
BLAKE2b-256 39f8ce989f490e900674a3a92a39c78eb5fd422c665188b490f481d04333680d

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: neots-0.3.1-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.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 da16af5c25451215cbf6b29847ba8b1997571e02c6a96b786e4bc52b662f48bc
MD5 acf00a55f6c2c90b3f8dac36843375d1
BLAKE2b-256 89b14cf4dab66ba6de6a4fbc464742bb3ea2d5b5e589030f85586e2d66f7cffd

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for neots-0.3.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 cafeb3249e8b9f61c940fce93269626720e372646b604ba953c488fdeefc862a
MD5 f20fd99e4c798c9eea66a2daaff6b3b0
BLAKE2b-256 815374043d9821c8d2a4e321ea0d529548670523424205b2da4b3cdde4f2b830

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for neots-0.3.1-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 a7432ab48565b4beed4abdeb16e9c433d7392343ff8d8b4c7ba9f241304f5f8c
MD5 eb144a0f9491f3ba04b82d67ddf2458a
BLAKE2b-256 7e0907bb577920c6efcd0418175be2950fe57a7e77644c0c8aa28b2add372eef

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for neots-0.3.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6e93aee184a6d114486ca6471e4c8dafb0c2e31e92f95d22b182460ecbf945ba
MD5 ec3bc34a40de8015e9ea4e463363a75c
BLAKE2b-256 ce15bd41c13879abf9c3696428d3e228ca495af9804d297434f4634bea2109a8

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: neots-0.3.1-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.1-cp311-cp311-win_arm64.whl
Algorithm Hash digest
SHA256 b4064bc4faeaada139bee882e7f65924332a1586a6e05bc94fcb2556aef0c137
MD5 56358ab9cff4f513e7487a8732e78cdd
BLAKE2b-256 e9aa6a77ff12778e894604230748ef4193bc1a82f7b48aca707717fdf4eba3e6

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: neots-0.3.1-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.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 d3c1576d44bb1bc2a190af918de39d908f435b9cafabbc689b4c8d21365ac83e
MD5 dbec92ad3d8f9489cade17880df807ce
BLAKE2b-256 ddad338c057df5a4aa4df2a28ae1eb99d45266e7a7d686b49fda67f5da5d6be4

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for neots-0.3.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 9a60d28843235c48d27767814139515ddd699b4b5cbd76f4f39869ca8c47e767
MD5 24272e734ab0867bb4ba22a150bd7d97
BLAKE2b-256 374d2de274e208ae8b05922004282753834f10e3cbaa60cff2efa31e52a9775b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for neots-0.3.1-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 33f683bacfb3dc5e7160e69480f68a554d22c4be5c92feac1266cae6fe534455
MD5 77d465cfdc2a3e6c30b279a22a6081b4
BLAKE2b-256 cf084b9f2fc519d1a34f9a0142fe19b7dfc8fb22c02207534d2e3ec04d77b954

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for neots-0.3.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ebe1bb6ed4cb9ab335b89dacea296c1aaea88c07a6908a40e57e08035edd0955
MD5 570c349e45b07dc432c39afb14c51670
BLAKE2b-256 96de2e648ec1db5fdcb8ca21b6f3ccbce8c0f8fcaa38582c52e9cc32e160edbd

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: neots-0.3.1-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.1-cp310-cp310-win_arm64.whl
Algorithm Hash digest
SHA256 1ca87d96cfd2a91b315dcf1ec3c876c3e9222ededdfc55d6b626054e9f3d458a
MD5 492f937057bc7afc3f7ab33a4f54056e
BLAKE2b-256 90b3e879a67262cbf857675cf83f9c30198107a4679fcd15bcb3f2a76d092b2a

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: neots-0.3.1-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.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 9b375037768277384d8addb46063c2f722424d7d61f5b0ad6dba3a124b200491
MD5 e60c873e0c60948f97ed80be488160e4
BLAKE2b-256 880ee9314ad3917e37584f2018560adb15ea418c484aa81f8faecee7dd008031

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for neots-0.3.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 6eafe68dc366bbad9ab4e837b329189e9bb8752bbd7caab3f163a17676e60cc0
MD5 0b1e4c7fd858659b6f7ded35dd61ac33
BLAKE2b-256 f9ce8b08b08a5f2412bd29635a8dd00012784ece263839c4f18f820d6465c07f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for neots-0.3.1-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 3abc57be2044ecd13b8fb1047d0dd470d53195ca9121235713fc5caba1a334da
MD5 b8fcbf65de0a18bf9ec4c9d2017d14f4
BLAKE2b-256 b8551e2fa87c831ddc2122bfa5b667ad5611ee17ea9ca84f43466365ee2709cc

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for neots-0.3.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ca069234f2d1b03456aede2b26dda1c56cab93f6715e026109282616116ef317
MD5 5b409969f523a36ad948bf380de207a7
BLAKE2b-256 0f2d963242bdbb78ecb51b2a791aff8e4c99d5974d08042b88277aa762c8edd5

See more details on using hashes here.

Provenance

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