Skip to main content

pyopenjtalk

PyPI Python package Build Status License DOI

A python wrapper for OpenJTalk.

The package consists of two core components:

  • Text processing frontend based on OpenJTalk
  • Speech synthesis backend using HTSEngine

Notice

  • The package is built with the modified version of OpenJTalk. The modified version provides the same functionality with some improvements (e.g., cmake support) but is technically different from the one from HTS working group.
  • The package also uses the modified version of hts_engine_API. The same applies as above.

Before using the pyopenjtalk package, please have a look at the LICENSE for the two software.

Build requirements

The python package relies on cython to make python bindings for open_jtalk and hts_engine_API. You must need the following tools to build and install pyopenjtalk:

  • C/C++ compilers (to build C/C++ extentions)
  • cmake
  • cython

Supported platforms

  • Linux
  • Mac OSX
  • Windows (MSVC) (see this PR)

Installation

pip install pyopenjtalk

Development

To build the package locally, you will need to make sure to clone open_jtalk and hts_engine_API.

git submodule update --recursive --init

and then run

pip install -e .

Quick demo

Please check the notebook version here (nbviewer).

TTS

In [1]: import pyopenjtalk

In [2]: from scipy.io import wavfile

In [3]: x, sr = pyopenjtalk.tts("おめでとうございます")

In [4]: wavfile.write("test.wav", sr, x.astype(np.int16))

Run text processing frontend only

In [1]: import pyopenjtalk

In [2]: pyopenjtalk.extract_fullcontext("こんにちは")
Out[2]:
['xx^xx-sil+k=o/A:xx+xx+xx/B:xx-xx_xx/C:xx_xx+xx/D:xx+xx_xx/E:xx_xx!xx_xx-xx/F:xx_xx#xx_xx@xx_xx|xx_xx/G:5_5%0_xx_xx/H:xx_xx/I:xx-xx@xx+xx&xx-xx|xx+xx/J:1_5/K:1+1-5',
'xx^sil-k+o=N/A:-4+1+5/B:xx-xx_xx/C:09_xx+xx/D:xx+xx_xx/E:xx_xx!xx_xx-xx/F:5_5#0_xx@1_1|1_5/G:xx_xx%xx_xx_xx/H:xx_xx/I:1-5@1+1&1-1|1+5/J:xx_xx/K:1+1-5',
'sil^k-o+N=n/A:-4+1+5/B:xx-xx_xx/C:09_xx+xx/D:xx+xx_xx/E:xx_xx!xx_xx-xx/F:5_5#0_xx@1_1|1_5/G:xx_xx%xx_xx_xx/H:xx_xx/I:1-5@1+1&1-1|1+5/J:xx_xx/K:1+1-5',
'k^o-N+n=i/A:-3+2+4/B:xx-xx_xx/C:09_xx+xx/D:xx+xx_xx/E:xx_xx!xx_xx-xx/F:5_5#0_xx@1_1|1_5/G:xx_xx%xx_xx_xx/H:xx_xx/I:1-5@1+1&1-1|1+5/J:xx_xx/K:1+1-5',
'o^N-n+i=ch/A:-2+3+3/B:xx-xx_xx/C:09_xx+xx/D:xx+xx_xx/E:xx_xx!xx_xx-xx/F:5_5#0_xx@1_1|1_5/G:xx_xx%xx_xx_xx/H:xx_xx/I:1-5@1+1&1-1|1+5/J:xx_xx/K:1+1-5',
'N^n-i+ch=i/A:-2+3+3/B:xx-xx_xx/C:09_xx+xx/D:xx+xx_xx/E:xx_xx!xx_xx-xx/F:5_5#0_xx@1_1|1_5/G:xx_xx%xx_xx_xx/H:xx_xx/I:1-5@1+1&1-1|1+5/J:xx_xx/K:1+1-5',
'n^i-ch+i=w/A:-1+4+2/B:xx-xx_xx/C:09_xx+xx/D:xx+xx_xx/E:xx_xx!xx_xx-xx/F:5_5#0_xx@1_1|1_5/G:xx_xx%xx_xx_xx/H:xx_xx/I:1-5@1+1&1-1|1+5/J:xx_xx/K:1+1-5',
'i^ch-i+w=a/A:-1+4+2/B:xx-xx_xx/C:09_xx+xx/D:xx+xx_xx/E:xx_xx!xx_xx-xx/F:5_5#0_xx@1_1|1_5/G:xx_xx%xx_xx_xx/H:xx_xx/I:1-5@1+1&1-1|1+5/J:xx_xx/K:1+1-5',
'ch^i-w+a=sil/A:0+5+1/B:xx-xx_xx/C:09_xx+xx/D:xx+xx_xx/E:xx_xx!xx_xx-xx/F:5_5#0_xx@1_1|1_5/G:xx_xx%xx_xx_xx/H:xx_xx/I:1-5@1+1&1-1|1+5/J:xx_xx/K:1+1-5',
'i^w-a+sil=xx/A:0+5+1/B:xx-xx_xx/C:09_xx+xx/D:xx+xx_xx/E:xx_xx!xx_xx-xx/F:5_5#0_xx@1_1|1_5/G:xx_xx%xx_xx_xx/H:xx_xx/I:1-5@1+1&1-1|1+5/J:xx_xx/K:1+1-5',
'w^a-sil+xx=xx/A:xx+xx+xx/B:xx-xx_xx/C:xx_xx+xx/D:xx+xx_xx/E:5_5!0_xx-xx/F:xx_xx#xx_xx@xx_xx|xx_xx/G:xx_xx%xx_xx_xx/H:1_5/I:xx-xx@xx+xx&xx-xx|xx+xx/J:xx_xx/K:1+1-5']

Please check lab_format.pdf in HTS-demo_NIT-ATR503-M001.tar.bz2 for more details about full-context labels.

Grapheme-to-phoeneme (G2P)

In [1]: import pyopenjtalk

In [2]: pyopenjtalk.g2p("こんにちは")
Out[2]: 'k o N n i ch i w a'

In [3]: pyopenjtalk.g2p("こんにちは", kana=True)
Out[3]: 'コンニチワ'

Create/Apply user dictionary

  1. Create a CSV file (e.g. user.csv) and write custom words like below:
GNU,,,1,名詞,一般,*,*,*,*,GNU,グヌー,グヌー,2/3,*
  1. Call mecab_dict_index to compile the CSV file.
In [1]: import pyopenjtalk

In [2]: pyopenjtalk.mecab_dict_index("user.csv", "user.dic")
reading user.csv ... 1
emitting double-array: 100% |###########################################|

done!
  1. Call update_global_jtalk_with_user_dict to apply the user dictionary.
In [3]: pyopenjtalk.g2p("GNU")
Out[3]: 'j i i e n u y u u'

In [4]: pyopenjtalk.update_global_jtalk_with_user_dict("user.dic")

In [5]: pyopenjtalk.g2p("GNU")
Out[5]: 'g u n u u'

About run_marine option

After v0.3.0, the run_marine option has been available for estimating the Japanese accent with the DNN-based method (see marine). If you want to use the feature, please install pyopenjtalk as below;

pip install pyopenjtalk[marine]

And then, you can use the option as the following examples;

In [1]: import pyopenjtalk

In [2]: x, sr = pyopenjtalk.tts("おめでとうございます", run_marine=True) # for TTS

In [3]: label = pyopenjtalk.extract_fullcontext("こんにちは", run_marine=True) # for text processing frontend only

LICENSE

Acknowledgements

HTS Working Group for their dedicated efforts to develop and maintain Open JTalk.

Metadata

Release files for pyopenjtalk-ndy 0.4.2.post8

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pyopenjtalk-ndy 0.4.2.post8
File Size Uploaded
pyopenjtalk_ndy-0.4.2.post8.tar.gz 19.9 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for pyopenjtalk-ndy 0.4.2.post8
File
pyopenjtalk_ndy-0.4.2.post8-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details
pyopenjtalk_ndy-0.4.2.post8-cp314-cp314-win32.whl CPython 3.14 CPython 3.14 Windows x86-32 Details
pyopenjtalk_ndy-0.4.2.post8-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.24+ x86-64, Linux glibc 2.28+ x86-64 Details
pyopenjtalk_ndy-0.4.2.post8-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl CPython 3.14 CPython 3.14 Linux glibc 2.24+ ARM64, Linux glibc 2.28+ ARM64 Details
pyopenjtalk_ndy-0.4.2.post8-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details
pyopenjtalk_ndy-0.4.2.post8-cp314-cp314-macosx_10_15_x86_64.whl CPython 3.14 CPython 3.14 macOS 10.15+ x86-64 Details
pyopenjtalk_ndy-0.4.2.post8-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
pyopenjtalk_ndy-0.4.2.post8-cp313-cp313-win32.whl CPython 3.13 CPython 3.13 Windows x86-32 Details
pyopenjtalk_ndy-0.4.2.post8-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ x86-64, Linux glibc 2.24+ x86-64 Details
pyopenjtalk_ndy-0.4.2.post8-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ ARM64, Linux glibc 2.24+ ARM64 Details
pyopenjtalk_ndy-0.4.2.post8-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
pyopenjtalk_ndy-0.4.2.post8-cp313-cp313-macosx_10_13_x86_64.whl CPython 3.13 CPython 3.13 macOS 10.13+ x86-64 Details
pyopenjtalk_ndy-0.4.2.post8-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
pyopenjtalk_ndy-0.4.2.post8-cp312-cp312-win32.whl CPython 3.12 CPython 3.12 Windows x86-32 Details
pyopenjtalk_ndy-0.4.2.post8-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.24+ x86-64, Linux glibc 2.28+ x86-64 Details
pyopenjtalk_ndy-0.4.2.post8-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.24+ ARM64, Linux glibc 2.28+ ARM64 Details
pyopenjtalk_ndy-0.4.2.post8-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
pyopenjtalk_ndy-0.4.2.post8-cp312-cp312-macosx_10_13_x86_64.whl CPython 3.12 CPython 3.12 macOS 10.13+ x86-64 Details
pyopenjtalk_ndy-0.4.2.post8-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
pyopenjtalk_ndy-0.4.2.post8-cp311-cp311-win32.whl CPython 3.11 CPython 3.11 Windows x86-32 Details
pyopenjtalk_ndy-0.4.2.post8-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.24+ x86-64, Linux glibc 2.28+ x86-64 Details
pyopenjtalk_ndy-0.4.2.post8-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.24+ ARM64, Linux glibc 2.28+ ARM64 Details
pyopenjtalk_ndy-0.4.2.post8-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
pyopenjtalk_ndy-0.4.2.post8-cp311-cp311-macosx_10_9_x86_64.whl CPython 3.11 CPython 3.11 macOS 10.9+ x86-64 Details
pyopenjtalk_ndy-0.4.2.post8-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
pyopenjtalk_ndy-0.4.2.post8-cp310-cp310-win32.whl CPython 3.10 CPython 3.10 Windows x86-32 Details
pyopenjtalk_ndy-0.4.2.post8-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ x86-64, Linux glibc 2.24+ x86-64 Details
pyopenjtalk_ndy-0.4.2.post8-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ ARM64, Linux glibc 2.24+ ARM64 Details
pyopenjtalk_ndy-0.4.2.post8-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details
pyopenjtalk_ndy-0.4.2.post8-cp310-cp310-macosx_10_9_x86_64.whl CPython 3.10 CPython 3.10 macOS 10.9+ x86-64 Details

Total release size: 111.5 MB

Release files / pyopenjtalk_ndy-0.4.2.post8.tar.gz

Download URL pyopenjtalk_ndy-0.4.2.post8.tar.gz
Size 19.9 MB
Tags Source
SHA-256 checksum
How to use checksums
262cf2deba03da105581cef43197e41768721dc513b3f19e1aca4a1ba5f510cd
BLAKE2b-256 checksum
How to use checksums
b3922f4fbd306e4fa4604d8ed6b7f4773e6ef224f63a418fcf28b37d15a4519c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 6, 2026.

Transparency log

Release files / pyopenjtalk_ndy-0.4.2.post8-cp314-cp314-win_amd64.whl

Download URL pyopenjtalk_ndy-0.4.2.post8-cp314-cp314-win_amd64.whl
Size 1.3 MB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
954271d454e76590c0676db69065e4e5b321bf24108f919d5421465aa5cc7559
BLAKE2b-256 checksum
How to use checksums
84724f7a5799a2b379bffd3cafb6bb4937a15da517b51328b5a7df9d1dea9f97
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 6, 2026.

Transparency log

Release files / pyopenjtalk_ndy-0.4.2.post8-cp314-cp314-win32.whl

Download URL pyopenjtalk_ndy-0.4.2.post8-cp314-cp314-win32.whl
Size 1.2 MB
Tags CPython 3.14 Windows x86-32
SHA-256 checksum
How to use checksums
10d7992e19d0a22fd2a98558d5333e5b528413825a803dcf77a628486931a2f5
BLAKE2b-256 checksum
How to use checksums
e606d77fe2839d52326a59144f054d36b790ccf5183bf47f58991ea8e5d583de
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 6, 2026.

Transparency log

Release files / pyopenjtalk_ndy-0.4.2.post8-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL pyopenjtalk_ndy-0.4.2.post8-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 6.8 MB
Tags CPython 3.14 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
ba3433fdf2527acf95dda74f44ba005d8abf677076473ce171127e588e77e77e
BLAKE2b-256 checksum
How to use checksums
7e2adf4ffd35f3e4ec97ee519323146aa058efd79a4e0d8253f819886f955149
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 6, 2026.

Transparency log

Release files / pyopenjtalk_ndy-0.4.2.post8-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl

Download URL pyopenjtalk_ndy-0.4.2.post8-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Size 6.7 MB
Tags CPython 3.14 Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
7cdf5e237b70d072989607f8db057ca4f1f81353fb600f7b9077c5476116ec2d
BLAKE2b-256 checksum
How to use checksums
addd32685092c06adc670328bc5af8c104ebb50e528f86c976f941f09127a5df
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 6, 2026.

Transparency log

Release files / pyopenjtalk_ndy-0.4.2.post8-cp314-cp314-macosx_11_0_arm64.whl

Download URL pyopenjtalk_ndy-0.4.2.post8-cp314-cp314-macosx_11_0_arm64.whl
Size 1.2 MB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
08e169c24dcb1bf640012e1cb0e73be0ea5af3a7048649e07e5d33cce433a3f0
BLAKE2b-256 checksum
How to use checksums
19f7595027ac03656c9b931b9bdf0357b76ae7d8bbb4245388c4c26f1e95d906
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 6, 2026.

Transparency log

Release files / pyopenjtalk_ndy-0.4.2.post8-cp314-cp314-macosx_10_15_x86_64.whl

Download URL pyopenjtalk_ndy-0.4.2.post8-cp314-cp314-macosx_10_15_x86_64.whl
Size 1.2 MB
Tags CPython 3.14 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
1654d33afc56f1b87836e623822c7d42b8916ef61103f7ab9ab381a4096d73fc
BLAKE2b-256 checksum
How to use checksums
a07fc92c155f613779f86d0e584cee7787d33fd40bd731623bcf42be7d4aefc9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 6, 2026.

Transparency log

Release files / pyopenjtalk_ndy-0.4.2.post8-cp313-cp313-win_amd64.whl

Download URL pyopenjtalk_ndy-0.4.2.post8-cp313-cp313-win_amd64.whl
Size 1.3 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
53c6c331f3e30358fdc3ed1db4ad429be2890543681da28e68ddacb6351afc70
BLAKE2b-256 checksum
How to use checksums
8e9c032ba9f11f047dc159967eb449aaf1f7c35012932b907c257ac346e96019
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 6, 2026.

Transparency log

Release files / pyopenjtalk_ndy-0.4.2.post8-cp313-cp313-win32.whl

Download URL pyopenjtalk_ndy-0.4.2.post8-cp313-cp313-win32.whl
Size 1.2 MB
Tags CPython 3.13 Windows x86-32
SHA-256 checksum
How to use checksums
d900c431127f8c898be713b2b7ac33f2708b8aa6d49a7706b86f241b1522c25a
BLAKE2b-256 checksum
How to use checksums
416ffe15a580e9c1b286cb0469eb81f5ec3aa616233c05883bfea5db9d1f0a5f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 6, 2026.

Transparency log

Release files / pyopenjtalk_ndy-0.4.2.post8-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL pyopenjtalk_ndy-0.4.2.post8-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 6.8 MB
Tags CPython 3.13 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
bd923df4c13ccc5f05e5465c2995331d05d9fa60fbb1ab6e85ce56c64a8547c7
BLAKE2b-256 checksum
How to use checksums
eaf889e00fcf7cfa63da9d05a0678bf24965d8fd27e048b8af0df9dc264d07a0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 6, 2026.

Transparency log

Release files / pyopenjtalk_ndy-0.4.2.post8-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl

Download URL pyopenjtalk_ndy-0.4.2.post8-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Size 6.7 MB
Tags CPython 3.13 Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
c51bd52d4f9ee2617b879a7f1df492fbeaa5a4f6879bb09c84210174741461df
BLAKE2b-256 checksum
How to use checksums
978d54b696ded826b44e471b567fc8b2d58696d17431767b26a767c77f7b1e4a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 6, 2026.

Transparency log

Release files / pyopenjtalk_ndy-0.4.2.post8-cp313-cp313-macosx_11_0_arm64.whl

Download URL pyopenjtalk_ndy-0.4.2.post8-cp313-cp313-macosx_11_0_arm64.whl
Size 1.2 MB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
6c3034e4dc2e239d9a370200469ff005efd2b3a2d2a298ae5efc7c46359876ca
BLAKE2b-256 checksum
How to use checksums
6f663fab345954a4d44350c5f20fb9e9d51ad289a1f2d736fa59597cc7723703
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 6, 2026.

Transparency log

Release files / pyopenjtalk_ndy-0.4.2.post8-cp313-cp313-macosx_10_13_x86_64.whl

Download URL pyopenjtalk_ndy-0.4.2.post8-cp313-cp313-macosx_10_13_x86_64.whl
Size 1.2 MB
Tags CPython 3.13 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
f27314eac095b1147ddf3331474709a7f39ef7d7f4b7c5598cad6a0f9793a58d
BLAKE2b-256 checksum
How to use checksums
8bd79cb706f10ca940b8b393f09eec9a43f7652213d1804b845b5b973b2b7c60
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 6, 2026.

Transparency log

Release files / pyopenjtalk_ndy-0.4.2.post8-cp312-cp312-win_amd64.whl

Download URL pyopenjtalk_ndy-0.4.2.post8-cp312-cp312-win_amd64.whl
Size 1.3 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
11534e50bc4ccdb936af197d933a7139fa18bfb81328bd8ced21cdb3461553d7
BLAKE2b-256 checksum
How to use checksums
19b780e43ac18f09578c758627bfa3f056ad0a03134319b0b6d74b28e5129bee
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 6, 2026.

Transparency log

Release files / pyopenjtalk_ndy-0.4.2.post8-cp312-cp312-win32.whl

Download URL pyopenjtalk_ndy-0.4.2.post8-cp312-cp312-win32.whl
Size 1.2 MB
Tags CPython 3.12 Windows x86-32
SHA-256 checksum
How to use checksums
b114a1e68ae585176503b2f0c7e2b469f2783e0e3da809aab2eb204ce46c2e54
BLAKE2b-256 checksum
How to use checksums
f51e300eca5a3b5eb45cec7646070ff2397bd7ddf2b7c397456ef1bdd37131e0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 6, 2026.

Transparency log

Release files / pyopenjtalk_ndy-0.4.2.post8-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL pyopenjtalk_ndy-0.4.2.post8-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 6.8 MB
Tags CPython 3.12 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
1922cf0fab2c917b97b6b2b0d7ce8de098c8f34fbd3b7e74f6e69a8ade3c3e1c
BLAKE2b-256 checksum
How to use checksums
efcc222306c2f4033c4a0a2cdc9f6a8ed7c0205dafc4ac7f9627f86c182c4fde
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 6, 2026.

Transparency log

Release files / pyopenjtalk_ndy-0.4.2.post8-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl

Download URL pyopenjtalk_ndy-0.4.2.post8-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Size 6.7 MB
Tags CPython 3.12 Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
3ff180fcc361b5aad9f81bf6e19b20d6c4219a81d5fdf0e7eb78ae6e00b7e049
BLAKE2b-256 checksum
How to use checksums
12714f20d6279e79ab22d9e791e51233ad3054eaf34f4c9189507e526ceba332
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 6, 2026.

Transparency log

Release files / pyopenjtalk_ndy-0.4.2.post8-cp312-cp312-macosx_11_0_arm64.whl

Download URL pyopenjtalk_ndy-0.4.2.post8-cp312-cp312-macosx_11_0_arm64.whl
Size 1.2 MB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
93582bf346cc2cc643c40c68fec6d56ff82f132536ec5baf673c0a1a43e3e3c2
BLAKE2b-256 checksum
How to use checksums
0ad14bcd7132794924bf77394ac8596f5582cd0325266f54eca3fe6dbe781cf8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 6, 2026.

Transparency log

Release files / pyopenjtalk_ndy-0.4.2.post8-cp312-cp312-macosx_10_13_x86_64.whl

Download URL pyopenjtalk_ndy-0.4.2.post8-cp312-cp312-macosx_10_13_x86_64.whl
Size 1.2 MB
Tags CPython 3.12 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
eb2c6114e618faf8a24d2e09b52fcffb79e6fa3c015aefbc3a15dfd05e151c50
BLAKE2b-256 checksum
How to use checksums
7b7f4410b81bd6ff465cc8fd5a41faed641d3f5d88a744a0cdee4c8a6b84bf28
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 6, 2026.

Transparency log

Release files / pyopenjtalk_ndy-0.4.2.post8-cp311-cp311-win_amd64.whl

Download URL pyopenjtalk_ndy-0.4.2.post8-cp311-cp311-win_amd64.whl
Size 1.3 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
5aba549373ccebcb62a2a7949de28d102ead5c7414caa3d624668c95d2d19630
BLAKE2b-256 checksum
How to use checksums
6f68ae08451163ba4960a7013506d60aaa2a33977796fc5b65df874a810493bc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 6, 2026.

Transparency log

Release files / pyopenjtalk_ndy-0.4.2.post8-cp311-cp311-win32.whl

Download URL pyopenjtalk_ndy-0.4.2.post8-cp311-cp311-win32.whl
Size 1.2 MB
Tags CPython 3.11 Windows x86-32
SHA-256 checksum
How to use checksums
8ea4748acfe31f471b443245211a03c78620a10231afa236741c871a2bd2f920
BLAKE2b-256 checksum
How to use checksums
f11f57d09b3102798ce0f92af2926044371dfcc0804bbb566c081b2d2ad9697f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 6, 2026.

Transparency log

Release files / pyopenjtalk_ndy-0.4.2.post8-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL pyopenjtalk_ndy-0.4.2.post8-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 6.8 MB
Tags CPython 3.11 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
58559801a712947f6da557fd8d922c395d0309b6501318bb1774c3d658f3b89e
BLAKE2b-256 checksum
How to use checksums
77d8f1d8a25337bbe6b5019e42fda5d097b8676f3dfa1aa48e027bb0f4cb50f9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 6, 2026.

Transparency log

Release files / pyopenjtalk_ndy-0.4.2.post8-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl

Download URL pyopenjtalk_ndy-0.4.2.post8-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Size 6.7 MB
Tags CPython 3.11 Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
3c112eba3927931d8421ba0f04e8711fde44e571e36fc5e7c580870cfa23f598
BLAKE2b-256 checksum
How to use checksums
3f58f129837ecef7a7b52a1f5f30e86b749f48c9b90ca8af46f1e1b01e50e7f9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 6, 2026.

Transparency log

Release files / pyopenjtalk_ndy-0.4.2.post8-cp311-cp311-macosx_11_0_arm64.whl

Download URL pyopenjtalk_ndy-0.4.2.post8-cp311-cp311-macosx_11_0_arm64.whl
Size 1.2 MB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
2298ea26071e0412bc368b2c4f80e88f129f918b75c300bf51c90c5ac1b92dc8
BLAKE2b-256 checksum
How to use checksums
b57224ec5b6359325cf5864a7c58a9ac46179b663e96d3c5d2a645d41110eb87
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 6, 2026.

Transparency log

Release files / pyopenjtalk_ndy-0.4.2.post8-cp311-cp311-macosx_10_9_x86_64.whl

Download URL pyopenjtalk_ndy-0.4.2.post8-cp311-cp311-macosx_10_9_x86_64.whl
Size 1.2 MB
Tags CPython 3.11 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
4be51d360ebb9f1fa115480fde4ab7f7555dc1b1205d090e4bce2eda3ca30be2
BLAKE2b-256 checksum
How to use checksums
7b0fa1c58f8617a0ca20e9e963b84cdfa5c0bfc17de042d68bcf4b8eec579cd1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 6, 2026.

Transparency log

Release files / pyopenjtalk_ndy-0.4.2.post8-cp310-cp310-win_amd64.whl

Download URL pyopenjtalk_ndy-0.4.2.post8-cp310-cp310-win_amd64.whl
Size 1.3 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
052287a9ed39583051173ba65935412f3db5837ea1051b320309d0c5cdd00bb5
BLAKE2b-256 checksum
How to use checksums
9ecffd498a64d57f6480d398329bef1290bc3c2a06785f705190988d7efd9ec0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 6, 2026.

Transparency log

Release files / pyopenjtalk_ndy-0.4.2.post8-cp310-cp310-win32.whl

Download URL pyopenjtalk_ndy-0.4.2.post8-cp310-cp310-win32.whl
Size 1.2 MB
Tags CPython 3.10 Windows x86-32
SHA-256 checksum
How to use checksums
7a1fff9b0c97bcf2c6c1f87967d308085b201ff74a87167116f783ef9ff23dc3
BLAKE2b-256 checksum
How to use checksums
61b157c8b64f332c850e7ae2a6f5df3a5faee8560349a5e0030d4632efa4f686
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 6, 2026.

Transparency log

Release files / pyopenjtalk_ndy-0.4.2.post8-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL pyopenjtalk_ndy-0.4.2.post8-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 6.8 MB
Tags CPython 3.10 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
cadc22a1329a8e00ed8f9256e50d53a356ff05d97f0b3f81b813935809923dbb
BLAKE2b-256 checksum
How to use checksums
6268f4fcb946da99d6babaa388a284eccfb0bc11967a0b9be107d38b6a935590
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 6, 2026.

Transparency log

Release files / pyopenjtalk_ndy-0.4.2.post8-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl

Download URL pyopenjtalk_ndy-0.4.2.post8-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Size 6.7 MB
Tags CPython 3.10 Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
2cb0adf3ae272fe3d63f1adbd545182436543beb96ee1ddd1e883a9fc8fad612
BLAKE2b-256 checksum
How to use checksums
a06d18ed12bc0757abd490d800334d3e4212da82c3b5f6c10ab9dfe94449dfb7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 6, 2026.

Transparency log

Release files / pyopenjtalk_ndy-0.4.2.post8-cp310-cp310-macosx_11_0_arm64.whl

Download URL pyopenjtalk_ndy-0.4.2.post8-cp310-cp310-macosx_11_0_arm64.whl
Size 1.2 MB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
b2ce4a97fd89ae949314fad612837317b5ac941fb69d8cca1d357e666ffbb049
BLAKE2b-256 checksum
How to use checksums
aaff4e5c40a4898a217b637722f8d5462209c0126e6c0d349495c1e867550c1a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 6, 2026.

Transparency log

Release files / pyopenjtalk_ndy-0.4.2.post8-cp310-cp310-macosx_10_9_x86_64.whl

Download URL pyopenjtalk_ndy-0.4.2.post8-cp310-cp310-macosx_10_9_x86_64.whl
Size 1.2 MB
Tags CPython 3.10 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
38018ddb3230a2883c567e7e89c8fef1e783220774ba84468d2d71ade75221b1
BLAKE2b-256 checksum
How to use checksums
916a4200514546bf995ee46900c12990c8679cb691f62e85b4a5e7d2585c31c6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 6, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.4.2.post8 This release

31 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page