Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: Chaffelson/nipyapi
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v0.17.1
Choose a base ref
...
head repository: Chaffelson/nipyapi
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: main
Choose a head ref

Commits on Nov 29, 2021

  1. NiFi 1.15 support (#299)

    * Update base clients to 1.15.0
    Add new mandatory version parameter for delete_bucket
    set default_headers to be an explicit dictionary to avoid TypeError
    Update test_setup script
    Update requirements to pin ruamel.yaml to <=0.18, which is the last version expected to work with Python2
    
    Signed-off-by: Daniel Chaffelson <chaffelson@gmail.com>
    
    * Update security and versioning functions to also supply revision version when deleting objects
    Correct comment in utils version check function
    
    Signed-off-by: Daniel Chaffelson <chaffelson@gmail.com>
    
    * NiFi 1.15 requires a password of at least 12chars, updating to supersecret1! as an example
    Added separate option to config to disable_insecure_request_warnings in urllib3
    Updated service_login to correctly check for None explicitly instead of implicit
    Updated set_endpoint to also accept username and password for login behavior
    Updated docker-compose configurations for NiFi-1.15, this includes setting default single user credential and port updates for https
    Updated conftest to explicitly set login/ssl/username/password from tuples per test permutation rather than implicitly pulling them from config.py defaults
    Updated conftest service cleanup actions to be more concise and readable
    Corrected test for updating a parameter context to not duplicate keys which is now a testable fault
    Updated test_security.py to correctly have the manual testing helper commented out by default
    
    Signed-off-by: Daniel Chaffelson <chaffelson@gmail.com>
    
    * Update History and Readme for release 0.18.0
    
    Signed-off-by: Daniel Chaffelson <chaffelson@gmail.com>
    Chaffelson authored Nov 29, 2021
    Copy the full SHA
    f6a2221 View commit details
  2. Copy the full SHA
    d3b186f View commit details

Commits on May 11, 2022

  1. Copy the full SHA
    19ab0b3 View commit details

Commits on May 12, 2022

  1. Allow version validation to ignore NiFi or Registry when checking for…

    … parameter support (#304)
    
    * Allow version validation to ignore NiFi or Registry when checking for parameter support
    
    * Refactor if-else statement format
    ChrisSamo632 authored May 12, 2022
    Copy the full SHA
    14028a0 View commit details

Commits on May 13, 2022

  1. Adds child cascading to assign_context_to_process_group (#267)

    * Adds direct-child cascading to assign_context_to_process_group
    
    Adds an optional bool to assign_context_to_process_group that, when True, will cascade the assigned Parameter Context down to the direct children Process Groups of the named Process Group. Does not recur down to nested-children.
    
    * Updates cascade to recur to all children rather than immediate only
    
    * removed pprint import
    
    oops
    
    Co-authored-by: abrown <abrown@cloudera.com>
    sdairs and abrown authored May 13, 2022
    Copy the full SHA
    a6e4f79 View commit details
  2. Update to NiFi release 1.16.1 and fixes (#306)

    * modify utils.check_version to accept a default version to check against, and remove nested error when version check fails as it is overzealous
    Update test file paths in test_utils in case someone runs tests as root which actually can write to fake devices and therefore break the tests
    * Updated clients for 1.16
    Added pylint exclusions for known but unimportant complaints
    Added workaround for NiFi 9470 by providing default inherited_parameter_contexts per advice from Chris Sampson in NiPyAPI Issue #305
    Fixes #305
    Updated NiFi and Registry versions in Docker compose configs to use latest 1.16.1 builds
    
    Signed-off-by: Daniel Chaffelson <chaffelson@gmail.com>
    
    * Bump version: 0.18.0 → 0.19.0
    Chaffelson authored May 13, 2022
    Copy the full SHA
    9f037e0 View commit details

Commits on Aug 8, 2022

  1. Fix bug in security.bootstrap_security_policies (#261)

    Co-authored-by: Pieter De Maeyer <pieter.de.maeyer@telenetgroup.be>
    PieterDM and Pieter De Maeyer authored Aug 8, 2022
    Copy the full SHA
    bd271ec View commit details
  2. Update NiFi and NiFi-Registry clients to the 1.17.0 release (#313)

    * Update NiFi and NiFi-Registry clients to the 1.17.0 release
    Update docker resources to the latest 1.17 container image
    Fix issue in docker volume mounts where certificates were not readable in new versions of Docker
    Fix issue in test_get_processor_type where new Twitter processor broke existing logic assumptions
    Update readme to note issues with Python 3.10 and removing reference to python 3.5 testing
    
    Signed-off-by: Daniel Chaffelson <chaffelson@gmail.com>
    
    * Update patchnotes in history.rst
    Remove pytest-runner from development dependencies as it has been deprecated upstream and no longer seems to be required to run pytest with tox
    
    Signed-off-by: Daniel Chaffelson <chaffelson@gmail.com>
    
    * Bump version: 0.19.0 → 0.19.1
    Chaffelson authored Aug 8, 2022
    Copy the full SHA
    12dd615 View commit details

Commits on Nov 10, 2022

  1. Update get_access_policy_for_resource no policy test (#317)

    * Update get_access_policy_for_resource no policy test to account for Registry body on no policy
    
    * Change PUT to POST for update_flow_version_with_http_info
    jrittenh authored Nov 10, 2022
    Copy the full SHA
    d32098c View commit details
  2. Update README with NiFi 1.17 support (#314)

    Quick change on the readme.
    
    Raffaele
    rsaggino authored Nov 10, 2022
    Copy the full SHA
    1551ec8 View commit details

Commits on Dec 1, 2022

  1. NiFi 1.19 update (#322)

    * Updated clients and Docker for 1.19
    RegistryClientEntity is renamed to FlowRegistryClientEntity for clarity in NiFi-1.19, along with other related classes - consequently ControllerApi().create_registry_client is now ControllerApi().create_flow_registry_client, etc.
    urllib3 advises that HTTPResponse.getheaders() will soon be deprecated, moving to HTTPResponse.headers as advised
    The NiFi API call to create a registry client no longer errors when a duplicate name is requested, however it still errors if you attempt to update a registry client with a non-unique name. Commenting out this test for now as it is not a critical requirement.
    The NiFi API no longer removes the Registry URI when deleting the object, removing this test from the set and replacing with a test that ensures the client can no longer be retrieved once deleted.
    
    Signed-off-by: Daniel Chaffelson <chaffelson@gmail.com>
    
    * Fix linelength in security.py to satisfy python linting
    Ensure newer versions of flake8 exclude autogenerated client files from tests
    
    Signed-off-by: Daniel Chaffelson <chaffelson@gmail.com>
    
    Signed-off-by: Daniel Chaffelson <chaffelson@gmail.com>
    Chaffelson authored Dec 1, 2022
    Copy the full SHA
    c687fb8 View commit details

Commits on Oct 22, 2023

  1. NiFi 1.23.2 update (#330)

    * fix(swagger_templates): http headers were incorrectly accessed from RESTResponse object
    
    Signed-off-by: Hexoplon <github@zackeus.no>
    
    * feat(nifi-client): update to 1.23.2 swagger defenitions
    
    Signed-off-by: Hexoplon <github@zackeus.no>
    
    * feat(registry-client): update to 1.23.2 swagger defenitions
    
    Signed-off-by: Hexoplon <github@zackeus.no>
    
    * test: update nifi and registry images to 1.23.2
    
    Signed-off-by: Hexoplon <github@zackeus.no>
    
    * build: update dependencies based on Snyk security recommendation
    
    Signed-off-by: Hexoplon <github@zackeus.no>
    
    * chore: v0.20.0
    
    Signed-off-by: Hexoplon <github@zackeus.no>
    
    ---------
    
    Signed-off-by: Hexoplon <github@zackeus.no>
    Hexoplon authored Oct 22, 2023
    Copy the full SHA
    8a2aec3 View commit details

Commits on Apr 9, 2024

  1. feat(config): add ReportingTaskEntity to registered filters (#337)

    Signed-off-by: Hexoplon <github@zackeus.no>
    Hexoplon authored Apr 9, 2024
    Copy the full SHA
    eeeee30 View commit details
  2. remove library setting root logger configuration (#340)

    Co-authored-by: Dan Chaffelson <chaffelson@gmail.com>
    ottobackwards and Chaffelson authored Apr 9, 2024
    Copy the full SHA
    b479a43 View commit details

Commits on Apr 14, 2024

  1. Fix ruamel.yaml pinning. Fixes docs and test process for EC2. (#346)

    * fixes #345
    
    * Fix pyenv python versions mapping in tox.
    
    * deprecate version statement in docker-compose files
    
    * Updated devnotes with new EC2 process. Updated sphinx build for newer version.
    Chaffelson authored Apr 14, 2024
    Copy the full SHA
    5bf9873 View commit details
  2. Copy the full SHA
    abd391b View commit details

Commits on Apr 15, 2024

  1. Update Python and NiFi supported versions (#348)

    * Update readme for version support
    
    * update python support to 3.7 through 3.11
    Chaffelson authored Apr 15, 2024
    Copy the full SHA
    e3f0ae3 View commit details
  2. Copy the full SHA
    b5e82b9 View commit details
  3. readthedocs yaml config

    File was supposed to be a dot file, Visual Studio decided I didn't need it.
    Chaffelson authored Apr 15, 2024
    Copy the full SHA
    1d52262 View commit details

Commits on Jun 22, 2024

  1. Copy the full SHA
    cef094c View commit details
  2. Copy the full SHA
    ca5cdc8 View commit details

Commits on Oct 2, 2024

  1. Copy the full SHA
    6907d86 View commit details

Commits on Oct 3, 2024

  1. 202410 updates (#364)

    * regenerate pylintrc for newer standards.
    * Remove outdated setattr usages.
    * Remove outdated todo statements.
    * Fix whitespace and line length linting.
    * Update ruamel.yaml usage to avoid deprecation warnings.
    * add default timeout to requets calls for registry swagger.
    * Fixes #351
    * Fixes #342
    * Fix HTTPResponse.getheaders() deprecation warning with py2/py3 compatitbility
    * Call Configuration() once in rest clients
    * added explanation about safe yaml loader
    * ensure latest flow version by sorting. Fixes #326
    * set py>-1.11.0 to avoid false positive cve warning
    * bump pytest>=7.2.0 to remove py dependency
    Chaffelson authored Oct 3, 2024
    Copy the full SHA
    93514f7 View commit details

Commits on Oct 6, 2024

  1. update clients to 1.27.0 (#365)

    * update clients to 1.27.0
    
    * deprecate py.test in favour of newer pytest
    
    * move docker requirement to extras
    
    * linting fixes
    
    * set latest python version to 3.12
    Chaffelson authored Oct 6, 2024
    Copy the full SHA
    6a94c6b View commit details
  2. Copy the full SHA
    a8adb27 View commit details
  3. Copy the full SHA
    ac9898e View commit details
  4. Copy the full SHA
    0fabcdb View commit details
  5. remove 0917 from lint checks

    simplify yaml dump to remove duplicate round trip via json
    fix py2/3 compatibility on use of yield statements.
    remove automated py2 testing from tox due to compatibility issues
    move pytest version picker to setup.py to allow additional logic.
    remove extraneous settings from setup.cfg
    set different yaml parser rules for py2/3 to better handle compatibility
    remove py2 limitation on development versions, greatly simplifying setup
    update pylintrc for new standards
    retire travisCI and coveralls from automated testing.
    Set simple coverage report, exclude from commits.
    Chaffelson committed Oct 6, 2024
    Copy the full SHA
    18214fd View commit details
  6. set min version for ruamel.yaml for safety

    update devnotes with py2 manual testing
    deprecate removed models from nifi client docs
    Chaffelson committed Oct 6, 2024
    Copy the full SHA
    f2ccf64 View commit details

Commits on Oct 7, 2024

  1. Merge pull request #366 from Chaffelson/retirePy2Automation

    Prepare v0.21.0 with py2 semi-retirement
    ottobackwards authored Oct 7, 2024
    Copy the full SHA
    f17ed60 View commit details

Commits on Oct 8, 2024

  1. Update NiPyAPI to be roughly forward compatible with NiFi-2.x line. (#…

    …368)
    
    * Instruct pyup to ignore pytest in requirements txt
    * instruct pytest to not report insecure http requests to localhost for docker testing
    * Templates are deprecated in nifi-2x, remove from tests for newer versions
    * add function to check registry version using newer aboutapi() call
    * update utils.check_version to ignore any non-semver elements of a version string and use newer registry version api call if available
    * Update registry client creation to handle nifi-2x structure
    * Update Testing to treat NiFI-2.x as regression target
    * Deprecate very old nifi-1x versions from regression testing
    * Fix get processor test to use a processor available in all nifi versions, GenerateFlowfile
    * Update readme about NiFi2.x support.
    * Switch 'latest' dockerfile to use 'latest' nifi tags.
    Chaffelson authored Oct 8, 2024
    Copy the full SHA
    3010452 View commit details

Commits on Feb 25, 2025

  1. Updates to supported versions, handing Template deprecation in NiFi-2…

    ….x, and Windows development support.
    
    Tested against NiFi-1.28.1 and 2.2.0.
    Bumped minimum Python3 version to 3.9 in line with Python retirement dates.
    Minor linting fixes.
    Corrected version checks for Templates deprecation in NiFi-2.x
    Added catcher for attempting to call Template functions against NiFi-2.x throwing new nipyapi.utils.VersionError, updated tests to match.
    Library should now throw VersionError for client-server mismatch instead of generic ValueError with a 404 Not Found inherited from Requests.
    Resolved fixture issues related to template create/destroy operations during pytest execution.
    Switched default Controller Service Type to CSVReader from DistributedMapCacheClientService as it is present in all tested versions.
    Chaffelson committed Feb 25, 2025
    Copy the full SHA
    16fede7 View commit details

Commits on Feb 26, 2025

  1. Merge pull request #381 from Chaffelson/20250224_updates

    Updates to supported versions, handing Template deprecation in NiFi-2.x, and Windows development support
    ottobackwards authored Feb 26, 2025
    Copy the full SHA
    c7d2564 View commit details

Commits on Mar 4, 2025

  1. Add support for mTLS (#382)

    * Add support for mTLS.
    * Added Python3.10 as it historically had urllib3 changes that caused issues.
    * renamed the 'secure' test mode to 'secure-ldap' distinguish it from 'secure-mtls'.
    * Added 'secure-mtls' test mode with docker configuration and pytest setup.
    * Added including 'reporting tasks' to some controller functions as the management controllers fall into that group and the SSL Context controller required for secure registry falls into that category.
    * Changed the default_proxy_user in config.py to user1 instead of localhost to match the certs.
    * Added optional 'purpose' overide to security/set_service_ssl_context to handle certificates needing to be either CLIENT or SERVER auth. Should fix issue #370.
    * bootstrap_security_policies changed to read system_diagnostics and policies by default. Added mtls handling. Added default registry policy setup for the nifi proxy user.
    * Added security.py function to create_ssl_context_controller_service which is required to create the registry client in an mTLS environment.
    * Updated utils/set_endpoint to handle correctly setting the SSL Context for mTLS when login is not requested, and not just LDAPS. This allows easy mTLS usage as shown in conftest.
    * updated versioning/create_registry_client to accept an SSL Context Service to setup the secure registry connection under mTLS.
    * Locked latest for testing to be 1.28.1 for this branch of NiPyAPI as testing against 2.x is not a full test suite.
    * pytest now has an additional mode secure_mtls, which clones the secure_ldap setup. You can only use either mtls or ldap concurrently as they share network names in the certificates.
    * Added include_reporting_tasks option to get_controller
    * adopted recommended SSLContextService type from NiFI docs
    Chaffelson authored Mar 4, 2025
    Copy the full SHA
    18d3afd View commit details

Commits on Mar 6, 2025

  1. Updated nifi and registry low level clients to v1.28.1

    Fixedup docs for swagger-codegen-cli to point at version 2.4.41
    Fixed linting in primary client
    Chaffelson committed Mar 6, 2025
    Copy the full SHA
    ab98de8 View commit details

Commits on Mar 7, 2025

  1. Merge pull request #383 from Chaffelson/1281update

    Updated nifi and registry low level clients to v1.28.1
    ottobackwards authored Mar 7, 2025
    Copy the full SHA
    58b5d30 View commit details

Commits on Mar 25, 2025

  1. V022release (#384)

    * Update history for release
    
    * Bump version: 0.21.0 → 0.22.0
    Chaffelson authored Mar 25, 2025
    Copy the full SHA
    e14d2f5 View commit details
Showing 645 changed files with 259,281 additions and 33,638 deletions.
6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -157,3 +157,9 @@ fabric.properties

# Stupid OSX exclusions
/.vscode

.DS_Store
# Coverage reports
coverage*
.coverage
htmlcov/
36 changes: 36 additions & 0 deletions .readthedocs.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# Read the Docs configuration file for Sphinx projects
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details

# Required
version: 2

# Set the OS, Python version and other tools you might need
build:
os: ubuntu-22.04
tools:
python: "3.11"
# You can also specify other tool versions:
# nodejs: "20"
# rust: "1.70"
# golang: "1.20"

# Build documentation in the "docs/" directory with Sphinx
sphinx:
configuration: docs/conf.py
# You can configure Sphinx to use a different builder, for instance use the dirhtml builder for simpler URLs
# builder: "dirhtml"
# Fail on all warnings to avoid broken references
# fail_on_warning: true

# Optionally build your docs in additional formats such as PDF and ePub
# formats:
# - pdf
# - epub

# Optional but recommended, declare the Python requirements required
# to build your documentation
# See https://docs.readthedocs.io/en/stable/guides/reproducible-builds.html
python:
install:
- requirements: requirements.txt
- requirements: requirements_dev.txt
21 changes: 16 additions & 5 deletions README.rst
Original file line number Diff line number Diff line change
@@ -60,6 +60,9 @@ The easiest way to install NiPyApi is with pip::

# in bash
pip install nipyapi
# or with docker support for demos
pip install nipyapi[demo]

You can set the config for your endpoints in the central config file::

@@ -93,12 +96,20 @@ Background and Documentation
NiFi Version Support
--------------------

| Currently we are testing against NiFi versions 1.1.2 - 1.13.2, and NiFi-Registry versions 0.1.0 - 0.8.0.
| Currently we are testing against NiFi versions 1.9.2 - 1.28.1, and NiFi-Registry versions 0.3.0 - 1.28.1.
| We have also tested against the latest NiFi-2.2.0 release using the 1.x SDK and have found that basic functionality works as expected.
| Apache NiFi offers no compatibility guarantees between major versions, and while many functions may work the same, you should test carefully for your specific use case.
| In future we will create a specific branch of NiPyAPI for NiFi 2.x SDKs, and maintain separate NiFi 1.x and NiFi 2.x clients.
| If you find a version compatibility problem please raise an `issue <https://github.com/Chaffelson/nipyapi/issues>`_
Python Requirements
-------------------
Python Support
--------------

| Python 2.7 or 3.9-12 supported, though other versions may work.
| We will shortly stop supporting Python2.
| OSX M1 chips have had various issues with Requests and Certificates.
| Python 2.7 or 3.5-8 supported, though other versions may work. *We will shortly stop supporting Python2*
| Tested on AL2 and OSX 10.14.x - Windows automated testing not attempted
| Tested on AL2023, developed on OSX 14+ and Windows 10 with Docker Desktop.
| Outside of the standard Python modules, we make use of lxml, DeepDiff, ruamel.yaml and xmltodict in processing, and Docker for demo/tests.
54 changes: 49 additions & 5 deletions docs/devnotes.rst
Original file line number Diff line number Diff line change
@@ -17,7 +17,7 @@ Decision Points
Testing Notes
-------------

When running tests on new code, you are advised to run 'test_default' first, then 'test_regression', then finally 'test_security'.
When running tests on new code, you are advised to run 'test_default' first, then 'test_regression', then finally 'test_ldap' and/or 'test_mtls'.
Because of the way errors are propagated you may have code failures which cause a teardown which then fails because of security controls, which can then obscure the original error.


@@ -28,11 +28,56 @@ There is an Apache NiFi image available on Dockerhub::

docker pull apache/nifi:latest

There are a couple of configuration files for launching various Docker environment configurations in ./test_env_config for convenience.
There are a couple of configuration files for launching various Docker environment configurations in resources/docker for convenience.

Remote testing on AWS:AL3 with Visual Studio Code on OSX
--------------------------------------------------------

Instructions::

Deploy a t2.xlarge on EC2, preferably with an elastic IP
Add the machine as a remote on Visual Studio Code and Connect
Open up the console and install git so VSCode can clone the repo `sudo dnf install -y git`
Use the VSCode Source Control plugin to clone nipyapi https://github.com/Chaffelson/nipyapi.git
You can then open these notes in VSCode with the terminal for easy execution
Now install dependencies `sudo dnf install -y docker && sudo dnf groupinstall "Development Tools" -y`
Now ensure docker starts with the OS and gives your user access `sudo systemctl start docker && sudo systemctl enable docker && sudo usermod -a -G docker $USER`
Restart your terminal, or run `newgrp docker` to get Docker access permissions active
Install Pip `sudo dnf install python3-pip -y`
Instal docker compose `sudo curl -L "https://github.com/docker/compose/releases/download/v2.26.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose`
I recommend you install PyEnv to manage Python versions `sudo curl https://pyenv.run | bash`
Follow the instructions to set up your .bashrc
To build various versions of Python for testing you may also need `sudo dnf install bzip2-devel openssl-devel libffi-devel zlib-devel readline-devel sqlite-devel -y`
Install the latest supported version of Python for your main dev environment `pyenv install 3.9 2.7 3.12`
Set these versions as global in pyenv so tox can see them. Use the actual versions with the command `pyenv global 3.9.16 2.7.18 3.12.2`
You'll want to stand up the two sets of NiFi containers for testing. resources/docker/tox-full for default and regression tests, and resources/docker/secure for tests under auth.
You can switch between the tests by changing flags in tests/conftest.py around line 17.
Python3 can be tested automatically using Tox.
Python2 can be tested using the following steps within a Python2 virtualenv:
1. Install requirements: pip install -r requirements.txt
2. Install dev requirements: `pip install -r requirements_dev.txt`
3. Install package in editable mode with test support: `pip install -e .[test]`
4. Run tests: `pytest -v -s tests --tb=long -W ignore::urllib3.exceptions.InsecureRequestWarning`

Setup Code Signing
------------------

If you want to sign and push code from your EC2 instance, you'll need to set up code signing.
Ensuring security of your keys is important, so please protect them with a good secret passphrase

Instructions::

On your AL2023 instance, replace the default minimal gnupg package with the full one `sudo dnf install --allowerasing gnupg2-full`
Generate signing keys `gpg --full-generate-key`
Use the long key ID as your signingkey `git config --global user.signingkey <key here>`
git config --global commit.gpgsign true
Add the tty setting for gpg to your ~/.bashrc `export GPG_TTY=$(tty)`

Remote Testing on Centos7
-------------------------

**Deprecated. Instructions kept for legacy reference.**

Deploy a 4x16 or better on EC2 running Centos 7.5 or better, ssh in as root::

yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
@@ -72,7 +117,7 @@ The NiFi and NiFi Registry REST API clients are generated using swagger-codegen,

- the package manager for your OS
- github: https://github.com/swagger-api/swagger-codegen
- maven: http://central.maven.org/maven2/io/swagger/swagger-codegen-cli/2.3.1/swagger-codegen-cli-2.3.1.jar
- maven: https://repo1.maven.org/maven2/io/swagger/swagger-codegen-cli/2.3.1/swagger-codegen-cli-2.4.41.jar
- pre-built Docker images on DockerHub (https://hub.docker.com/r/swaggerapi/swagger-codegen-cli/)

In the examples below, we'll use Homebrew for macOS::
@@ -147,15 +192,14 @@ This assumes you have virtualenvwrapper, git, and appropriate python versions in
python setup.py develop
tox
python setup.py test
python setup.py build_sphinx
Run `make html` in the docs subdir
# check docs in build/sphinx/html/index.html
python setup.py sdist bdist_wheel
mktmpenv # or pyenv virtualenvwrapper mktmpenv if using pyenv
pip install path/to/nipyapi-0.3.1-py2.py3-none-any.whl # for example
# Run appropriate tests, such as usage tests etc.
deactivate
Push changes to Github
Check build on TravisCI
Check dockerhub automated build
# You may have to reactivate your original virtualenv
twine upload dist/*
71 changes: 71 additions & 0 deletions docs/history.rst
Original file line number Diff line number Diff line change
@@ -2,6 +2,77 @@
History
=======

0.22.0 (2025-03-25)
--------------------

| Updated low level clients for NiFi & Registry 1.28.1 release
| Updates to supported Python versions, handing Template deprecation in NiFi-2.x, and Windows development support
| Add support for mTLS for Nifi and Registry
0.21.0 (2024-07-14)
-------------------

| Updated client for NiFi & Registry 1.27.0 release
* Fix API model generator by @michaelarnauts in https://github.com/Chaffelson/nipyapi/pull/356
* issue-360: handle -9 error messages better by @ottobackwards in https://github.com/Chaffelson/nipyapi/pull/361
* Handle plain text response types so json values are correctly returned by @michaelarnauts in https://github.com/Chaffelson/nipyapi/pull/358
* update clients to 1.27.0 by @Chaffelson in https://github.com/Chaffelson/nipyapi/pull/365
* Simplified the use of setattr in recurse_flow, flatten, and list_all_by_kind methods in nipyapi/canvas.py.
* Added support for key_password in the Configuration class and its usage in nipyapi/nifi/rest.py and nipyapi/registry/rest.py.
* Fixed the method to retrieve HTTP headers in nipyapi/nifi/rest.py and nipyapi/registry/rest.py.
* Fixed issue #326 where the latest flow version was not being deployed by default
* Updated pylintrc to match more modern python standards
* Fixes nipyapi.nifi.ProcessGroupsApi.upload_process_group_with_http_info() incomplete #310
* VersionedReportingTask added with appropriate functions
* Move docker requirement to extras to avoid dependency install during standard usage
* Set latest python3 version to 3.12
* Deprecate usage of py.test in favour of newer pytest.
* Update readme

0.20.0 (2024-04-14)
-------------------

| Updated client for NiFi & Registry 1.23.2 release
* Fix ruamel.yaml finally deprecating safe_loader
* Hexoplon added ReportingTaskEntity to registered filters
* ottobackwards fixed the root logger being setup by the libary
* Generally updated test setup and several updated libraries complaining since last release

0.19.1 (2022-08-08)
-------------------

| Updated client for NiFi & Registry 1.17.0 release
* Update docker resources to the latest 1.17 container image
* Fix issue in docker volume mounts where certificates were not readable in new versions of Docker
* Fix issue in test_get_processor_type where new Twitter processor broke existing logic assumptions
* Update readme to note issues with Python 3.10 and removing reference to python 3.5 testing

0.19.0 (2022-05-13)
-------------------

| Updated client for NiFi & Registry 1.16.0 release
* Modify utils.check_version to accept a default version to check against, and remove nested error when version check fails as it is overzealous
* Update test file paths in test_utils in case someone runs tests as root which actually can write to fake devices and therefore break the tests
* Added pylint exclusions for known but unimportant complaints
* Added workaround for NiFi 9470 by providing default inherited_parameter_contexts per advice from Chris Sampson in NiPyAPI Issue #305
* Updated NiFi and Registry versions in Docker compose configs to use latest 1.16.1 builds


0.18.0 (2021-11-29)
-------------------

| Updated client for NiFi & Registry 1.15.0 release
* Moved testing to secured single user by default for NiFi
* Consolidated clients to the 1.15.0 release version for both NiFi and Registry
* Updated logic to support changed working modes in tests
* Corrected minor functional issues for 1.15 in login handling, SSL certs, Parameter Updates and Testing
* Backwards compatibility and Regression tested as requiring no breaking changes

0.17.1 (2021-10-21)
-------------------

79 changes: 0 additions & 79 deletions docs/nipyapi-docs/nipyapi.nifi.models.rst
Original file line number Diff line number Diff line change
@@ -188,38 +188,6 @@ nipyapi.nifi.models.batch\_size module
:undoc-members:
:show-inheritance:

nipyapi.nifi.models.bucket module
---------------------------------

.. automodule:: nipyapi.nifi.models.bucket
:members:
:undoc-members:
:show-inheritance:

nipyapi.nifi.models.bucket\_dto module
--------------------------------------

.. automodule:: nipyapi.nifi.models.bucket_dto
:members:
:undoc-members:
:show-inheritance:

nipyapi.nifi.models.bucket\_entity module
-----------------------------------------

.. automodule:: nipyapi.nifi.models.bucket_entity
:members:
:undoc-members:
:show-inheritance:

nipyapi.nifi.models.buckets\_entity module
------------------------------------------

.. automodule:: nipyapi.nifi.models.buckets_entity
:members:
:undoc-members:
:show-inheritance:

nipyapi.nifi.models.bulletin\_board\_dto module
-----------------------------------------------

@@ -1036,14 +1004,6 @@ nipyapi.nifi.models.peers\_entity module
:undoc-members:
:show-inheritance:

nipyapi.nifi.models.permissions module
--------------------------------------

.. automodule:: nipyapi.nifi.models.permissions
:members:
:undoc-members:
:show-inheritance:

nipyapi.nifi.models.permissions\_dto module
-------------------------------------------

@@ -1388,30 +1348,6 @@ nipyapi.nifi.models.queue\_size\_dto module
:undoc-members:
:show-inheritance:

nipyapi.nifi.models.registry\_client\_entity module
---------------------------------------------------

.. automodule:: nipyapi.nifi.models.registry_client_entity
:members:
:undoc-members:
:show-inheritance:

nipyapi.nifi.models.registry\_clients\_entity module
----------------------------------------------------

.. automodule:: nipyapi.nifi.models.registry_clients_entity
:members:
:undoc-members:
:show-inheritance:

nipyapi.nifi.models.registry\_dto module
----------------------------------------

.. automodule:: nipyapi.nifi.models.registry_dto
:members:
:undoc-members:
:show-inheritance:

nipyapi.nifi.models.relationship\_dto module
--------------------------------------------

@@ -1916,14 +1852,6 @@ nipyapi.nifi.models.versioned\_controller\_service module
:undoc-members:
:show-inheritance:

nipyapi.nifi.models.versioned\_flow module
------------------------------------------

.. automodule:: nipyapi.nifi.models.versioned_flow
:members:
:undoc-members:
:show-inheritance:

nipyapi.nifi.models.versioned\_flow\_coordinates module
-------------------------------------------------------

@@ -1948,13 +1876,6 @@ nipyapi.nifi.models.versioned\_flow\_entity module
:undoc-members:
:show-inheritance:

nipyapi.nifi.models.versioned\_flow\_snapshot module
----------------------------------------------------

.. automodule:: nipyapi.nifi.models.versioned_flow_snapshot
:members:
:undoc-members:
:show-inheritance:

nipyapi.nifi.models.versioned\_flow\_snapshot\_entity module
------------------------------------------------------------
8 changes: 8 additions & 0 deletions docs/nipyapi-docs/nipyapi.rst
Original file line number Diff line number Diff line change
@@ -30,6 +30,14 @@ Config
:undoc-members:
:show-inheritance:

Parameters
----------

.. automodule:: nipyapi.parameters
:members:
:undoc-members:
:show-inheritance:

Security
--------

2 changes: 1 addition & 1 deletion nipyapi/__init__.py
Original file line number Diff line number Diff line change
@@ -9,7 +9,7 @@

__author__ = """Daniel Chaffelson"""
__email__ = 'chaffelson@gmail.com'
__version__ = '0.17.1'
__version__ = '0.22.0'
__all__ = ['canvas', 'system', 'templates', 'config', 'nifi', 'registry',
'versioning', 'demo', 'utils', 'security', 'parameters']

Loading