Skip to content

Commit

Permalink
python(chore): v0.3.0 release prep (#158)
Browse files Browse the repository at this point in the history
  • Loading branch information
niliayu authored Jan 8, 2025
1 parent 08ddc4c commit def6d45
Show file tree
Hide file tree
Showing 2 changed files with 125 additions and 113 deletions.
80 changes: 51 additions & 29 deletions python/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,38 +3,60 @@ All notable changes to this project will be documented in this file.

This project adheres to [Semantic Versioning](http://semver.org/).

## [v0.3.0-rc.7] - December 20, 2024
Summary of changes:
- Fix status bug with CSV uploads

## [v0.3.0-rc.6] - November 22, 2024
Summary of changes:
- Support Windows mimetypes for CSV uploads

## [v0.3.0-rc.5] - November 21, 2024
Summary of changes:
- Allow uploading compressed chapter 10 files

## [v0.3.0-rc.4] - November 21, 2024
Summary of changes:
- Fix data download bug for channels with '.' delimited name.
- Improvements to CSV importing
- Ping Example added

## [v0.3.0-rc.3] - November 11, 2024
Summary of changes:
- Adds optional openSSL certificate fetching
## [v0.3.0] - January 7, 2025
- [What's New](#whats-new)
- [Bugfixes](#bugfixes)
- [Deprecation Notices](#deprecation-notices)
- [Full Changelog](#full-changelog)

### What's New
#### Report Template Service
There is now a `ReportTemplateService` that is available from `sift_py.report_templates.service`. This service allows for creating,
updating, and retrieving report templates with a client key, where client keys are unique user defined strings associated with a given report
template. Report templates may either by defined via a python config (using the `ReportTemplateConfig` class) or a YAML file, which
follows the same schema.
Please see `examples/report_templates` for some examples of how to manage report templates via python and YAML using the `ReportTemplateService`.
- [Adds ReportTemplateService and example usage](https://github.com/sift-stack/sift/pull/145)

#### Rule Service
There is now a `RuleService` that is available from `sift_py.rule.service`. This service allows for creating, updating, and retrieving rules.
Rules created through this service should now include a rule client key, a unique user defined string associated with a given rule. As before,
rules may be defined in python (via the `RuleConfigClass`) or via YAML (following the `RuleYamlSpec` class).
Please see `examples/ingestion_with_yaml_config` for an example of how to create rules from YAML using the `RuleService`.
- [Updates most examples to use RuleService to create rules](https://github.com/sift-stack/sift/pull/154)

#### Chapter 10 Support
There is now a base class, `BaseCh10File`, and an upload service, `Ch10UploadService` that allows for easily parsing and uploading IRIG Chapter 10 files.
Please see `examples/data_import/ch10` for an example of how to use these classes.
- [Allow uploading compressed chapter 10 files](https://github.com/sift-stack/sift/pull/139)

#### Other Improvements
- [Enables keepalive by default and configures user-agent](https://github.com/sift-stack/sift/pull/152)
- [Ping Example added](https://github.com/sift-stack/sift/pull/130)
- [Adds optional openSSL certificate fetching](https://github.com/sift-stack/sift/pull/119)

### Bugfixes
- [Fix status bug with CSV uploads](https://github.com/sift-stack/sift/pull/155)
- [Fix data download bug for channels with '.' delimited name.](https://github.com/sift-stack/sift/pull/138)

### Deprecation Notices
The `overwrite_rules` option of `IngestionService` is going to be deprecated in the next release, and will emit a warning if set.

### Full Changelog
- [Updates most examples to use RuleService to create rules](https://github.com/sift-stack/sift/pull/154)
- [Adds ReportTemplateService and example usage](https://github.com/sift-stack/sift/pull/145)
- [Enables keepalive by default and configures user-agent](https://github.com/sift-stack/sift/pull/152)
- [Fix status bug with CSV uploads](https://github.com/sift-stack/sift/pull/155)
- [Support Windows mimetypes for CSV uploads](https://github.com/sift-stack/sift/pull/143)
- [Allow uploading compressed chapter 10 files](https://github.com/sift-stack/sift/pull/139)
- [Fix data download bug for channels with '.' delimited name.](https://github.com/sift-stack/sift/pull/138)
- [Improvements to CSV importing](https://github.com/sift-stack/sift/pull/136)
- [Ping Example added](https://github.com/sift-stack/sift/pull/130)
- [Adds optional openSSL certificate fetching](https://github.com/sift-stack/sift/pull/119)
- [Loosen various dependency requirements](https://github.com/sift-stack/sift/pull/103)

## [v0.3.0-rc.2] - November 1, 2024

Summary of changes:
- Loosen various dependency requirements

## [v0.3.0-rc.1] - October 22, 2024

This is the release candidate for v0.3.0 for the purposes of allowing folks to test various
new services introduced. This does not reflect the complete set of features that will be included
in the next release and many of the new APIs have yet to be documented.

## [v0.2.2] - October 9, 2024

Expand Down
158 changes: 74 additions & 84 deletions python/pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,28 +1,24 @@
[project]
name = "sift_stack_py"
version = "0.3.0-rc.7"
version = "0.3.0"
description = "Python client library for the Sift API"
requires-python = ">=3.8"
readme = {file = "README.md", content-type = "text/markdown"}
license = {file = "LICENSE"}
classifiers = [
"License :: OSI Approved :: MIT License",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
readme = { file = "README.md", content-type = "text/markdown" }
license = { file = "LICENSE" }
classifiers = [
"License :: OSI Approved :: MIT License",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
]
maintainers = [ {name = "Sift Software Engineers", email = "[email protected]"} ]
keywords = [
"sift",
"sift-stack",
"siftstack",
"sift_py",
maintainers = [
{ name = "Sift Software Engineers", email = "[email protected]" },
]
keywords = ["sift", "sift-stack", "siftstack", "sift_py"]
dependencies = [
"grpcio~=1.13",
"npTDMS~=1.9",
"PyYAML~=6.0",
"pandas~=2.0",
"protobuf>=4.0",
Expand All @@ -32,6 +28,7 @@ dependencies = [
"requests-toolbelt~=1.0",

# May move these to optional dependencies in the future.
"npTDMS~=1.9",
"pandas-stubs~=2.0",
"types-PyYAML~=6.0",
"types-protobuf>=4.0",
Expand All @@ -56,15 +53,8 @@ development = [
"pytest-mock==3.14.0",
"ruff",
]
build = [
"pdoc==14.5.0",
"build==1.2.1",
]
openssl = [
"pyOpenSSL<24.0.0",
"types-pyOpenSSL<24.0.0",
"cffi~=1.14",
]
build = ["pdoc==14.5.0", "build==1.2.1"]
openssl = ["pyOpenSSL<24.0.0", "types-pyOpenSSL<24.0.0", "cffi~=1.14"]

[build-system]
requires = ["setuptools"]
Expand All @@ -79,35 +69,35 @@ reportOptionalMemberAccess = "none"
reportArgumentType = "none"
reportAttributeAccessIssue = "none"
exclude = [
".bzr",
".direnv",
".eggs",
".git",
".git-rewrite",
".hg",
".ipynb_checkpoints",
".mypy_cache",
".nox",
".pants.d",
".pyenv",
".pytest_cache",
".pytype",
".ruff_cache",
".svn",
".tox",
".venv",
".vscode",
"__pypackages__",
"_build",
"buck-out",
"build",
"dist",
"node_modules",
"site-packages",
"venv",
"lib/sift",
"lib/google",
"lib/protoc_gen_openapiv2",
".bzr",
".direnv",
".eggs",
".git",
".git-rewrite",
".hg",
".ipynb_checkpoints",
".mypy_cache",
".nox",
".pants.d",
".pyenv",
".pytest_cache",
".pytype",
".ruff_cache",
".svn",
".tox",
".venv",
".vscode",
"__pypackages__",
"_build",
"buck-out",
"build",
"dist",
"node_modules",
"site-packages",
"venv",
"lib/sift",
"lib/google",
"lib/protoc_gen_openapiv2",
]

# No official typing stubs for Python gRPC libraries yet.
Expand Down Expand Up @@ -144,35 +134,35 @@ line-length = 100
indent-width = 4
target-version = "py38" # Python 3.8
exclude = [
".bzr",
".direnv",
".eggs",
".git",
".git-rewrite",
".hg",
".ipynb_checkpoints",
".mypy_cache",
".nox",
".pants.d",
".pyenv",
".pytest_cache",
".pytype",
".ruff_cache",
".svn",
".tox",
".venv",
".vscode",
"__pypackages__",
"_build",
"buck-out",
"build",
"dist",
"node_modules",
"site-packages",
"venv",
"lib/sift",
"lib/google",
"lib/protoc_gen_openapiv2",
".bzr",
".direnv",
".eggs",
".git",
".git-rewrite",
".hg",
".ipynb_checkpoints",
".mypy_cache",
".nox",
".pants.d",
".pyenv",
".pytest_cache",
".pytype",
".ruff_cache",
".svn",
".tox",
".venv",
".vscode",
"__pypackages__",
"_build",
"buck-out",
"build",
"dist",
"node_modules",
"site-packages",
"venv",
"lib/sift",
"lib/google",
"lib/protoc_gen_openapiv2",
]

[tool.ruff.lint]
Expand Down

0 comments on commit def6d45

Please sign in to comment.