summaryrefslogtreecommitdiff
path: root/python-amazon-transcribe.spec
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2023-05-15 09:35:36 +0000
committerCoprDistGit <infra@openeuler.org>2023-05-15 09:35:36 +0000
commitdf1933c36a10d2506396fa074142d0fa64d1385d (patch)
treefc85928939023591dcfb5370ce05739cab266580 /python-amazon-transcribe.spec
parent9b60000e4bfbd2e7bde4287dbdfd87932f69e8f6 (diff)
automatic import of python-amazon-transcribe
Diffstat (limited to 'python-amazon-transcribe.spec')
-rw-r--r--python-amazon-transcribe.spec514
1 files changed, 514 insertions, 0 deletions
diff --git a/python-amazon-transcribe.spec b/python-amazon-transcribe.spec
new file mode 100644
index 0000000..92cb75a
--- /dev/null
+++ b/python-amazon-transcribe.spec
@@ -0,0 +1,514 @@
+%global _empty_manifest_terminate_build 0
+Name: python-amazon-transcribe
+Version: 0.6.1
+Release: 1
+Summary: Async Python SDK for Amazon Transcribe Streaming
+License: Apache License 2.0
+URL: https://github.com/awslabs/amazon-transcribe-streaming-sdk
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/1b/6c/33721098ae6b8db72e68fd610b6aa4b1713a05ea0ed38f26287660ac981c/amazon-transcribe-0.6.1.tar.gz
+BuildArch: noarch
+
+Requires: python3-awscrt
+
+%description
+## Amazon Transcribe Streaming SDK
+
+The Amazon Transcribe Streaming SDK allows users to directly interface with
+the Amazon Transcribe Streaming service and their Python programs. The goal of
+the project is to enable users to integrate directly with Amazon Transcribe
+without needing anything more than a stream of audio bytes and a basic handler.
+
+This project is still in early alpha so the interface is still subject to change
+and may see rapid iteration. It's highly advised to pin to strict dependencies
+if using this outside of local testing. Please note awscrt is a dependency shared
+with botocore (the core module of AWS CLI and boto3). You may need to keep
+amazon-transcribe at the latest version when installed in the same environment.
+
+
+## Installation
+
+To install from pip:
+````bash
+python -m pip install amazon-transcribe
+````
+
+To install from Github:
+````bash
+git clone https://github.com/awslabs/amazon-transcribe-streaming-sdk.git
+cd amazon-transcribe-streaming-sdk
+python -m pip install .
+````
+
+To use from your Python application, add `amazon-transcribe` as a dependency in your `requirements.txt` file.
+
+NOTE: This SDK is built on top of the
+[AWS Common Runtime (CRT)](https://github.com/awslabs/aws-crt-python), a collection of
+C libraries we interact with through bindings. The CRT is available on PyPI
+([awscrt](https://pypi.org/project/awscrt/)) as precompiled wheels for common platforms
+(Linux, macOS, Windows). Non-standard operating systems may need to compile these
+libraries themselves.
+
+## Usage
+
+### Prerequisites
+If you don't already have local credentials setup for your AWS account, you can follow
+this [guide](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html)
+for configuring them using the AWS CLI.
+
+In essence you'll need one of these authentication configurations setup in order for
+the SDK to successfully resolve your API keys:
+
+1. Set the `AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY` and optionally the
+`AWS_SESSION_TOKEN` environment variables
+2. Set the `AWS_PROFILE` pointing to your AWS profile directory
+3. Configure the `[default]` profile in `~/.aws/credentials`
+
+For more details on the AWS shared configuration file and credential provider
+usage, check the following developer guides:
+
+* [Shared Config Overview](https://docs.aws.amazon.com/sdkref/latest/guide/creds-config-files.html)
+* [Shared Config Format](https://docs.aws.amazon.com/sdkref/latest/guide/file-format.html)
+* [Example Credential Setups](https://docs.aws.amazon.com/sdkref/latest/guide/usage-examples.html)
+
+### Quick Start
+Setup for this SDK will require either live or prerecorded audio. Full details
+on the audio input requirements can be found in the [Amazon Transcribe Streaming
+documentation](https://docs.aws.amazon.com/transcribe/latest/dg/streaming.html).
+
+
+Here's an example app to get started:
+```python
+import asyncio
+
+# This example uses aiofile for asynchronous file reads.
+# It's not a dependency of the project but can be installed
+# with `pip install aiofile`.
+import aiofile
+
+from amazon_transcribe.client import TranscribeStreamingClient
+from amazon_transcribe.handlers import TranscriptResultStreamHandler
+from amazon_transcribe.model import TranscriptEvent
+from amazon_transcribe.utils import apply_realtime_delay
+
+"""
+Here's an example of a custom event handler you can extend to
+process the returned transcription results as needed. This
+handler will simply print the text out to your interpreter.
+"""
+
+
+SAMPLE_RATE = 16000
+BYTES_PER_SAMPLE = 2
+CHANNEL_NUMS = 1
+
+# An example file can be found at tests/integration/assets/test.wav
+AUDIO_PATH = "tests/integration/assets/test.wav"
+CHUNK_SIZE = 1024 * 8
+REGION = "us-west-2"
+
+
+class MyEventHandler(TranscriptResultStreamHandler):
+ async def handle_transcript_event(self, transcript_event: TranscriptEvent):
+ # This handler can be implemented to handle transcriptions as needed.
+ # Here's an example to get started.
+ results = transcript_event.transcript.results
+ for result in results:
+ for alt in result.alternatives:
+ print(alt.transcript)
+
+
+async def basic_transcribe():
+ # Setup up our client with our chosen AWS region
+ client = TranscribeStreamingClient(region=REGION)
+
+ # Start transcription to generate our async stream
+ stream = await client.start_stream_transcription(
+ language_code="en-US",
+ media_sample_rate_hz=SAMPLE_RATE,
+ media_encoding="pcm",
+ )
+
+ async def write_chunks():
+ # NOTE: For pre-recorded files longer than 5 minutes, the sent audio
+ # chunks should be rate limited to match the realtime bitrate of the
+ # audio stream to avoid signing issues.
+ async with aiofile.AIOFile(AUDIO_PATH, "rb") as afp:
+ reader = aiofile.Reader(afp, chunk_size=CHUNK_SIZE)
+ await apply_realtime_delay(
+ stream, reader, BYTES_PER_SAMPLE, SAMPLE_RATE, CHANNEL_NUMS
+ )
+ await stream.input_stream.end_stream()
+
+ # Instantiate our handler and start processing events
+ handler = MyEventHandler(stream.output_stream)
+ await asyncio.gather(write_chunks(), handler.handle_events())
+
+
+loop = asyncio.get_event_loop()
+loop.run_until_complete(basic_transcribe())
+loop.close()
+```
+
+## Security
+
+See [CONTRIBUTING](CONTRIBUTING.md#security-issue-notifications) for more information.
+
+## License
+
+This project is licensed under the Apache-2.0 License.
+
+
+
+
+%package -n python3-amazon-transcribe
+Summary: Async Python SDK for Amazon Transcribe Streaming
+Provides: python-amazon-transcribe
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-amazon-transcribe
+## Amazon Transcribe Streaming SDK
+
+The Amazon Transcribe Streaming SDK allows users to directly interface with
+the Amazon Transcribe Streaming service and their Python programs. The goal of
+the project is to enable users to integrate directly with Amazon Transcribe
+without needing anything more than a stream of audio bytes and a basic handler.
+
+This project is still in early alpha so the interface is still subject to change
+and may see rapid iteration. It's highly advised to pin to strict dependencies
+if using this outside of local testing. Please note awscrt is a dependency shared
+with botocore (the core module of AWS CLI and boto3). You may need to keep
+amazon-transcribe at the latest version when installed in the same environment.
+
+
+## Installation
+
+To install from pip:
+````bash
+python -m pip install amazon-transcribe
+````
+
+To install from Github:
+````bash
+git clone https://github.com/awslabs/amazon-transcribe-streaming-sdk.git
+cd amazon-transcribe-streaming-sdk
+python -m pip install .
+````
+
+To use from your Python application, add `amazon-transcribe` as a dependency in your `requirements.txt` file.
+
+NOTE: This SDK is built on top of the
+[AWS Common Runtime (CRT)](https://github.com/awslabs/aws-crt-python), a collection of
+C libraries we interact with through bindings. The CRT is available on PyPI
+([awscrt](https://pypi.org/project/awscrt/)) as precompiled wheels for common platforms
+(Linux, macOS, Windows). Non-standard operating systems may need to compile these
+libraries themselves.
+
+## Usage
+
+### Prerequisites
+If you don't already have local credentials setup for your AWS account, you can follow
+this [guide](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html)
+for configuring them using the AWS CLI.
+
+In essence you'll need one of these authentication configurations setup in order for
+the SDK to successfully resolve your API keys:
+
+1. Set the `AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY` and optionally the
+`AWS_SESSION_TOKEN` environment variables
+2. Set the `AWS_PROFILE` pointing to your AWS profile directory
+3. Configure the `[default]` profile in `~/.aws/credentials`
+
+For more details on the AWS shared configuration file and credential provider
+usage, check the following developer guides:
+
+* [Shared Config Overview](https://docs.aws.amazon.com/sdkref/latest/guide/creds-config-files.html)
+* [Shared Config Format](https://docs.aws.amazon.com/sdkref/latest/guide/file-format.html)
+* [Example Credential Setups](https://docs.aws.amazon.com/sdkref/latest/guide/usage-examples.html)
+
+### Quick Start
+Setup for this SDK will require either live or prerecorded audio. Full details
+on the audio input requirements can be found in the [Amazon Transcribe Streaming
+documentation](https://docs.aws.amazon.com/transcribe/latest/dg/streaming.html).
+
+
+Here's an example app to get started:
+```python
+import asyncio
+
+# This example uses aiofile for asynchronous file reads.
+# It's not a dependency of the project but can be installed
+# with `pip install aiofile`.
+import aiofile
+
+from amazon_transcribe.client import TranscribeStreamingClient
+from amazon_transcribe.handlers import TranscriptResultStreamHandler
+from amazon_transcribe.model import TranscriptEvent
+from amazon_transcribe.utils import apply_realtime_delay
+
+"""
+Here's an example of a custom event handler you can extend to
+process the returned transcription results as needed. This
+handler will simply print the text out to your interpreter.
+"""
+
+
+SAMPLE_RATE = 16000
+BYTES_PER_SAMPLE = 2
+CHANNEL_NUMS = 1
+
+# An example file can be found at tests/integration/assets/test.wav
+AUDIO_PATH = "tests/integration/assets/test.wav"
+CHUNK_SIZE = 1024 * 8
+REGION = "us-west-2"
+
+
+class MyEventHandler(TranscriptResultStreamHandler):
+ async def handle_transcript_event(self, transcript_event: TranscriptEvent):
+ # This handler can be implemented to handle transcriptions as needed.
+ # Here's an example to get started.
+ results = transcript_event.transcript.results
+ for result in results:
+ for alt in result.alternatives:
+ print(alt.transcript)
+
+
+async def basic_transcribe():
+ # Setup up our client with our chosen AWS region
+ client = TranscribeStreamingClient(region=REGION)
+
+ # Start transcription to generate our async stream
+ stream = await client.start_stream_transcription(
+ language_code="en-US",
+ media_sample_rate_hz=SAMPLE_RATE,
+ media_encoding="pcm",
+ )
+
+ async def write_chunks():
+ # NOTE: For pre-recorded files longer than 5 minutes, the sent audio
+ # chunks should be rate limited to match the realtime bitrate of the
+ # audio stream to avoid signing issues.
+ async with aiofile.AIOFile(AUDIO_PATH, "rb") as afp:
+ reader = aiofile.Reader(afp, chunk_size=CHUNK_SIZE)
+ await apply_realtime_delay(
+ stream, reader, BYTES_PER_SAMPLE, SAMPLE_RATE, CHANNEL_NUMS
+ )
+ await stream.input_stream.end_stream()
+
+ # Instantiate our handler and start processing events
+ handler = MyEventHandler(stream.output_stream)
+ await asyncio.gather(write_chunks(), handler.handle_events())
+
+
+loop = asyncio.get_event_loop()
+loop.run_until_complete(basic_transcribe())
+loop.close()
+```
+
+## Security
+
+See [CONTRIBUTING](CONTRIBUTING.md#security-issue-notifications) for more information.
+
+## License
+
+This project is licensed under the Apache-2.0 License.
+
+
+
+
+%package help
+Summary: Development documents and examples for amazon-transcribe
+Provides: python3-amazon-transcribe-doc
+%description help
+## Amazon Transcribe Streaming SDK
+
+The Amazon Transcribe Streaming SDK allows users to directly interface with
+the Amazon Transcribe Streaming service and their Python programs. The goal of
+the project is to enable users to integrate directly with Amazon Transcribe
+without needing anything more than a stream of audio bytes and a basic handler.
+
+This project is still in early alpha so the interface is still subject to change
+and may see rapid iteration. It's highly advised to pin to strict dependencies
+if using this outside of local testing. Please note awscrt is a dependency shared
+with botocore (the core module of AWS CLI and boto3). You may need to keep
+amazon-transcribe at the latest version when installed in the same environment.
+
+
+## Installation
+
+To install from pip:
+````bash
+python -m pip install amazon-transcribe
+````
+
+To install from Github:
+````bash
+git clone https://github.com/awslabs/amazon-transcribe-streaming-sdk.git
+cd amazon-transcribe-streaming-sdk
+python -m pip install .
+````
+
+To use from your Python application, add `amazon-transcribe` as a dependency in your `requirements.txt` file.
+
+NOTE: This SDK is built on top of the
+[AWS Common Runtime (CRT)](https://github.com/awslabs/aws-crt-python), a collection of
+C libraries we interact with through bindings. The CRT is available on PyPI
+([awscrt](https://pypi.org/project/awscrt/)) as precompiled wheels for common platforms
+(Linux, macOS, Windows). Non-standard operating systems may need to compile these
+libraries themselves.
+
+## Usage
+
+### Prerequisites
+If you don't already have local credentials setup for your AWS account, you can follow
+this [guide](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html)
+for configuring them using the AWS CLI.
+
+In essence you'll need one of these authentication configurations setup in order for
+the SDK to successfully resolve your API keys:
+
+1. Set the `AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY` and optionally the
+`AWS_SESSION_TOKEN` environment variables
+2. Set the `AWS_PROFILE` pointing to your AWS profile directory
+3. Configure the `[default]` profile in `~/.aws/credentials`
+
+For more details on the AWS shared configuration file and credential provider
+usage, check the following developer guides:
+
+* [Shared Config Overview](https://docs.aws.amazon.com/sdkref/latest/guide/creds-config-files.html)
+* [Shared Config Format](https://docs.aws.amazon.com/sdkref/latest/guide/file-format.html)
+* [Example Credential Setups](https://docs.aws.amazon.com/sdkref/latest/guide/usage-examples.html)
+
+### Quick Start
+Setup for this SDK will require either live or prerecorded audio. Full details
+on the audio input requirements can be found in the [Amazon Transcribe Streaming
+documentation](https://docs.aws.amazon.com/transcribe/latest/dg/streaming.html).
+
+
+Here's an example app to get started:
+```python
+import asyncio
+
+# This example uses aiofile for asynchronous file reads.
+# It's not a dependency of the project but can be installed
+# with `pip install aiofile`.
+import aiofile
+
+from amazon_transcribe.client import TranscribeStreamingClient
+from amazon_transcribe.handlers import TranscriptResultStreamHandler
+from amazon_transcribe.model import TranscriptEvent
+from amazon_transcribe.utils import apply_realtime_delay
+
+"""
+Here's an example of a custom event handler you can extend to
+process the returned transcription results as needed. This
+handler will simply print the text out to your interpreter.
+"""
+
+
+SAMPLE_RATE = 16000
+BYTES_PER_SAMPLE = 2
+CHANNEL_NUMS = 1
+
+# An example file can be found at tests/integration/assets/test.wav
+AUDIO_PATH = "tests/integration/assets/test.wav"
+CHUNK_SIZE = 1024 * 8
+REGION = "us-west-2"
+
+
+class MyEventHandler(TranscriptResultStreamHandler):
+ async def handle_transcript_event(self, transcript_event: TranscriptEvent):
+ # This handler can be implemented to handle transcriptions as needed.
+ # Here's an example to get started.
+ results = transcript_event.transcript.results
+ for result in results:
+ for alt in result.alternatives:
+ print(alt.transcript)
+
+
+async def basic_transcribe():
+ # Setup up our client with our chosen AWS region
+ client = TranscribeStreamingClient(region=REGION)
+
+ # Start transcription to generate our async stream
+ stream = await client.start_stream_transcription(
+ language_code="en-US",
+ media_sample_rate_hz=SAMPLE_RATE,
+ media_encoding="pcm",
+ )
+
+ async def write_chunks():
+ # NOTE: For pre-recorded files longer than 5 minutes, the sent audio
+ # chunks should be rate limited to match the realtime bitrate of the
+ # audio stream to avoid signing issues.
+ async with aiofile.AIOFile(AUDIO_PATH, "rb") as afp:
+ reader = aiofile.Reader(afp, chunk_size=CHUNK_SIZE)
+ await apply_realtime_delay(
+ stream, reader, BYTES_PER_SAMPLE, SAMPLE_RATE, CHANNEL_NUMS
+ )
+ await stream.input_stream.end_stream()
+
+ # Instantiate our handler and start processing events
+ handler = MyEventHandler(stream.output_stream)
+ await asyncio.gather(write_chunks(), handler.handle_events())
+
+
+loop = asyncio.get_event_loop()
+loop.run_until_complete(basic_transcribe())
+loop.close()
+```
+
+## Security
+
+See [CONTRIBUTING](CONTRIBUTING.md#security-issue-notifications) for more information.
+
+## License
+
+This project is licensed under the Apache-2.0 License.
+
+
+
+
+%prep
+%autosetup -n amazon-transcribe-0.6.1
+
+%build
+%py3_build
+
+%install
+%py3_install
+install -d -m755 %{buildroot}/%{_pkgdocdir}
+if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi
+if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi
+if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi
+if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi
+pushd %{buildroot}
+if [ -d usr/lib ]; then
+ find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/lib64 ]; then
+ find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/bin ]; then
+ find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/sbin ]; then
+ find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+touch doclist.lst
+if [ -d usr/share/man ]; then
+ find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst
+fi
+popd
+mv %{buildroot}/filelist.lst .
+mv %{buildroot}/doclist.lst .
+
+%files -n python3-amazon-transcribe -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Mon May 15 2023 Python_Bot <Python_Bot@openeuler.org> - 0.6.1-1
+- Package Spec generated