Skip to content

Commit 7a7e2af

Browse files
authored
Enhancing LocalStack Python client README.md (#36)
* FIX: Fix the GHA CI * DOCS: Enhance the README.md * DOCS: Add a CONTRIBUTNG.md
1 parent 75d75e7 commit 7a7e2af

File tree

4 files changed

+72
-59
lines changed

4 files changed

+72
-59
lines changed

.github/workflows/ci.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,4 +43,5 @@ jobs:
4343
4444
- name: Lint
4545
run: |
46+
pip install pycodestyle
4647
make lint

CHANGELOG.md

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
# LocalStack Python Client Change Log
2+
3+
* v1.29: Add endpoint for OpenSearch
4+
* v1.28: Add endpoint for Route53Resolver
5+
* v1.27: Add endpoint for SESv2
6+
* v1.25: Remove mapping for deprecated/disabled Web UI on port 8080
7+
* v1.24: Add endpoints for Config Service
8+
* v1.23: Add endpoints for QLDB Session
9+
* v1.22: Add endpoints for LakeFormation and WAF/WAFv2
10+
* v1.21: Add endpoint for AWS Backup API
11+
* v1.20: Add endpoint for Resource Groups API
12+
* v1.19: Add endpoints for Resource Groups Tagging API
13+
* v1.18: Add endpoints for AppConfig, CostExplorer, MediaConvert
14+
* v1.17: Add endpoint for ServerlessApplicationRepository
15+
* v1.16: Add endpoints for AWS Support and ServiceDiscovery (CloudMap)
16+
* v1.14: Add endpoint for IoT Wireless
17+
* v1.13: Add endpoints for NeptuneDB and DocumentDB
18+
* v1.10: Add endpoint for ELBv2
19+
* v1.7: Add endpoints for AWS API GW Management, Timestream, S3 Control, and others
20+
* v1.5: Add endpoint for AWS Application Autoscaling, Kafka (MSK)
21+
* v1.4: Configure USE_LEGACY_PORTS=0 by default to accommodate upstream changes
22+
* v1.2: Add endpoint for AWS Amplify
23+
* v1.1: Add USE_LEGACY_PORTS config to disable using legacy ports
24+
* v1.0: Switch to using edge port for all service endpoints by default
25+
* v0.25: Add endpoint for AWS Kinesis Analytics; prepare for replacing service ports with edge port
26+
* v0.24: Add endpoints for AWS Transfer, ACM, and CodeCommit
27+
* v0.23: Add endpoints for AWS Autoscaling and MediaStore
28+
* v0.22: Import boto3 under different name to simplify mocking
29+
* v0.20: Add endpoints for AWS CloudTrail, Glacier, Batch, Organizations
30+
* v0.19: Add endpoints for AWS ECR and QLDB
31+
* v0.18: Add endpoint for AWS API Gateway V2
32+
* v0.16: Add endpoint for AWS SageMaker
33+
* v0.15: Add endpoint for AWS Glue
34+
* v0.14: Add endpoint for AWS Athena
35+
* v0.13: Add endpoint for AWS CloudFront
36+
* v0.8: Add more service endpoint mappings that will be implemented in the near future
37+
* v0.7: Add endpoint for AWS Step Functions
38+
* v0.6: Add endpoint for AWS Secrets Manager
39+
* v0.5: Fix passing of credentials to client session
40+
* v0.4: Add functions to retrieve service port mappings
41+
* v0.3: Add new service endpoints
42+
* v0.2: Add missing service endpoints; enable SSL connections; put default endpoints into `config.py`
43+
* v0.1: Initial version

CONTRIBUTING.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# Contributing
2+
3+
We welcome feedback, bug reports, and pull requests!
4+
5+
For pull requests, please stick to the following guidelines:
6+
7+
- Add tests for any new features and bug fixes.
8+
- Follow the existing code style. Run `make lint` before checking in your code.
9+
- Put a reasonable amount of comments into the code.
10+
- Fork `localstack-python-client` on your GitHub user account, do your changes there and then create a PR against main `localstack-python-client` repository.
11+
- Separate unrelated changes into multiple pull requests.

README.md

Lines changed: 17 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,20 @@
11
# LocalStack Python Client
22

3+
<p align="center">
4+
<a href="https://img.shields.io/pypi/v/localstack-client"><img src="https://img.shields.io/pypi/v/localstack-client" alt="PyPI version" height="18"></a>
5+
<img src="https://img.shields.io/badge/license-Apache License 2.0-brightgreen" alt="license Apache 2.0"/>
6+
<img src="https://github.com/localstack/localstack-python-client/actions/workflows/ci.yml/badge.svg" alt="GitHub-Actions-Build"/>
7+
<a href="https://pepy.tech/project/localstack-client"><img src="https://pepy.tech/badge/localstack-client" alt="PyPi downloads" height="18"></a>
8+
</p>
9+
310
This is an easy-to-use Python client for [LocalStack](https://github.com/localstack/localstack).
411
The client library provides a thin wrapper around [boto3](https://github.com/boto/boto3) which
512
automatically configures the target endpoints to use LocalStack for your local cloud
613
application development.
714

815
## Prerequisites
916

10-
To make use of this library, you need to have [LocalStack](https://github.com/localstack/localstack)
11-
installed on your local machine. In particular, the `localstack` command needs to be available.
17+
To make use of this library, you need to have [LocalStack](https://github.com/localstack/localstack) installed on your local machine. In particular, the `localstack` command needs to be available.
1218

1319
## Installation
1420

@@ -20,11 +26,11 @@ pip install localstack-client
2026

2127
## Usage
2228

23-
This library provides an API that is identical to `boto3`'s. A minimal way to try it out is to replace
24-
`import boto3` with `import localstack_client.session as boto3`. This will allow your boto3 calls to work as normal.
29+
This library provides an API that is identical to `boto3`'s. A minimal way to try it out is to replace `import boto3` with `import localstack_client.session as boto3`. This will allow your boto3 calls to work as normal.
30+
2531
For example, to list all s3 buckets in localstack:
2632

27-
```
33+
```python
2834
import localstack_client.session as boto3
2935
client = boto3.client('s3')
3036
response = client.list_buckets()
@@ -33,7 +39,7 @@ response = client.list_buckets()
3339
Another example below shows using `localstack_client` directly. To list the SQS queues
3440
in your local (LocalStack) environment, use the following code:
3541

36-
```
42+
```python
3743
import localstack_client.session
3844

3945
session = localstack_client.session.Session()
@@ -43,7 +49,7 @@ assert sqs.list_queues() is not None
4349

4450
If you use `boto3.client` directly in your code, you can mock it.
4551

46-
```
52+
```python
4753
import localstack_client.session
4854
import pytest
4955

@@ -55,66 +61,18 @@ def boto3_localstack_patch(monkeypatch):
5561
monkeypatch.setattr(boto3, "resource", session_ls.resource)
5662
```
5763

58-
```
64+
```python
5965
sqs = boto3.client('sqs')
6066
assert sqs.list_queues() is not None # list SQS in localstack
6167
```
6268

69+
## Contributing
6370

64-
## Developing
65-
66-
We welcome feedback, bug reports, and pull requests!
67-
68-
Use these commands to get you started and test your code:
69-
70-
```
71-
make install
72-
make test
73-
```
71+
If you are interested in contributing to LocalStack Python Client, start by reading our [`CONTRIBUTING.md`](CONTRIBUTING.md) guide. You can further navigate our codebase and [open issues](https://github.com/localstack/localstack-python-client/issues). We are thankful for all the contributions and feedback we receive.
7472

7573
## Changelog
7674

77-
* v1.29: Add endpoint for OpenSearch
78-
* v1.28: Add endpoint for Route53Resolver
79-
* v1.27: Add endpoint for SESv2
80-
* v1.25: Remove mapping for deprecated/disabled Web UI on port 8080
81-
* v1.24: Add endpoints for Config Service
82-
* v1.23: Add endpoints for QLDB Session
83-
* v1.22: Add endpoints for LakeFormation and WAF/WAFv2
84-
* v1.21: Add endpoint for AWS Backup API
85-
* v1.20: Add endpoint for Resource Groups API
86-
* v1.19: Add endpoints for Resource Groups Tagging API
87-
* v1.18: Add endpoints for AppConfig, CostExplorer, MediaConvert
88-
* v1.17: Add endpoint for ServerlessApplicationRepository
89-
* v1.16: Add endpoints for AWS Support and ServiceDiscovery (CloudMap)
90-
* v1.14: Add endpoint for IoT Wireless
91-
* v1.13: Add endpoints for NeptuneDB and DocumentDB
92-
* v1.10: Add endpoint for ELBv2
93-
* v1.7: Add endpoints for AWS API GW Management, Timestream, S3 Control, and others
94-
* v1.5: Add endpoint for AWS Application Autoscaling, Kafka (MSK)
95-
* v1.4: Configure USE_LEGACY_PORTS=0 by default to accommodate upstream changes
96-
* v1.2: Add endpoint for AWS Amplify
97-
* v1.1: Add USE_LEGACY_PORTS config to disable using legacy ports
98-
* v1.0: Switch to using edge port for all service endpoints by default
99-
* v0.25: Add endpoint for AWS Kinesis Analytics; prepare for replacing service ports with edge port
100-
* v0.24: Add endpoints for AWS Transfer, ACM, and CodeCommit
101-
* v0.23: Add endpoints for AWS Autoscaling and MediaStore
102-
* v0.22: Import boto3 under different name to simplify mocking
103-
* v0.20: Add endpoints for AWS CloudTrail, Glacier, Batch, Organizations
104-
* v0.19: Add endpoints for AWS ECR and QLDB
105-
* v0.18: Add endpoint for AWS API Gateway V2
106-
* v0.16: Add endpoint for AWS SageMaker
107-
* v0.15: Add endpoint for AWS Glue
108-
* v0.14: Add endpoint for AWS Athena
109-
* v0.13: Add endpoint for AWS CloudFront
110-
* v0.8: Add more service endpoint mappings that will be implemented in the near future
111-
* v0.7: Add endpoint for AWS Step Functions
112-
* v0.6: Add endpoint for AWS Secrets Manager
113-
* v0.5: Fix passing of credentials to client session
114-
* v0.4: Add functions to retrieve service port mappings
115-
* v0.3: Add new service endpoints
116-
* v0.2: Add missing service endpoints; enable SSL connections; put default endpoints into `config.py`
117-
* v0.1: Initial version
75+
Please refer to [`CHANGELOG.md`](CHANGELOG.md) to see the complete list of changes for each release.
11876

11977
## License
12078

0 commit comments

Comments
 (0)