All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- New extras available for installation: "graphviz" and "all."
- Changed the
Account.joined_timestamp
field from datetime to str to fix DynamoDB (de)serialization. Since boto3 returns the field as datetime, also added config to from_dict() to cast it to string. - Updates
ModelBase.from_dict()
to accept and pass through kwargs - Changed the
Organization
model to allow fields to be null for empty init - Fixes broken logic in
ModelBase.to_dict()
when passing field_name, removes unused flatten kwarg - Upgrades all dependencies
- Moves doc tooling into a "docs" dependency group instead of an extra
- To use the
Organization.to_dot()
functionality, you must now specify the graphviz dependency during installation:pip install aws-data-tools[graphviz]
- The graphviz library is no longer installed by default.
- The devtools and docs extras have been removed
0.1.1 - 2021-11-23
- Adds support for generating a Graphviz diagram of an Organization with the new
OrganizationDataBuilder.to_dot()
function - Adds
DOT
as a supported output format for theorganization dump-all
command - Adds models for AWS Config notifications
- Adds models for SQS and SNS messages
- Adds methods to ModelBase to allow (de)serializing JSON or YAML strings
- Adds ModelBase.from_dict() to initialize a model from a dict using dacite
- Adds CodeQL analysis workflow for GitHub Actions
- breaking: Renames
organization dump-json
CLI command toorganization dump-all
- Moves buiders into the models namespace
0.1.0-beta2 - 2021-06-16
- Adds an
organization lookup-accounts
CLI command - Adds a
field
argument toModelBase.as_dict()
to dump a single field in a model - Adds configurations for tox and other testing tools
- Adds a quickstart to the top of the README
- Adds an
organizations write-accounts-to-dynamodb
CLI command - Adds an
organizations read-accounts-from-dynamodb
CLI command - Adds DynamoDB (de)serialization functions and requests helpers to utils
- Refactors
OrganizationDataBuilder
to allow more control over pulling data - Updates the Makefile to allow setting a custom PYTHONBREAKPOINT when debugging
- Updates
OrganizationDataBuilder
to allow setting the client during init - Updates
OrganizationDataBuilder
to allow excluding account parent data lookups - Renames
ModelBase
serialization function prefixes fromas_
toto_
- Updates
APIClient.api()
to only pascalize keys in kwargs, not the values. This fixes a bug that was causing items being inserted into DynamoDB to be pascalized. - Updates
APIClient()
andAPIClient.Connect()
to skip creating the client if it already exists
0.1.0-beta1 - 2021-06-09
- Moves APIClient class to
aws_data_tools.client.APIClient
- Cleans up README
- Bumps version to 0.1.0-beta1
- Adds a CI config for Semantic Pull Requests
0.1.0-alpha4 - 2021-06-09
Initial alpha release
- Adds the APIClient class for simplying creation of sessions, connections, and making API calls
- Adds the ModelBase dataclass for data models to inherit from
- Adds dataclasses for Organizations data models: Organization, Account, OrganizationalUnit, etc
- Adds the OrganizationsDataBuilder class for querying the Organizations APIs to build up the data model
- Adds a CLI tool as an extra that can be installed
- Adds configuration for packaging and publishing to PyPI
- Adds Git pre-commit config w/ linting