Skip to main content

A collection of network analyses

Project description

github latest release pypi latest package docker latest image project license

nwa CI nwa CD security scan pre-commit

code coverage code alerts code quality code style

nwa

nwa: A collection of network analyses

Contents

  1. Use Case
  2. Configuration
  3. Development
  4. Testing
  5. Versioning
  6. Deployment
  7. Production

Use Case

A collection of network analyses implementations.
Input: [TODO].
Output: [TODO].

Requirements

  • [TODO]

Assumptions

  • [TODO]

Design

[TODO]

Configuration

Behaviour of the application can be configured via Environment Variables.

Environment Variable Description Type Default Value
NWA_LOG_LEVEL Level of logging - overrides verbose/quiet flag string -
NWA_LOG_DIR Directory to save logs string -
NWA_BIN_DIR Directory to save any output (bin) string bin

Development

Configure for local development

  • Clone repo on your local machine
  • Install conda or miniconda
  • Create your local project environment (based on conda, poetry, pre-commit):
    $ make env
  • (Optional) Update existing local project environment:
    $ make env-update

Run locally

On a terminal, run the following (execute on project's root directory):

  • Activate project environment:
    $ . ./scripts/helpers/environment.sh
  • Run the CLI using poetry:
    $ poetry run nwa

Contribute

[ Not Available ]

Testing

(part of CI/CD)

[ Work in progress... ]

To run the tests, open a terminal and run the following (execute on project's root directory):

  • Activate project environment:
    $ . ./scripts/helpers/environment.sh
  • To run pytest:
    $ make test
  • To check test coverage:
    $ make test-coverage

Versioning

Increment the version number:
$ poetry version {bump rule}
where valid bump rules are:

  1. patch
  2. minor
  3. major
  4. prepatch
  5. preminor
  6. premajor
  7. prerelease

Changelog

Use CHANGELOG.md to track the evolution of this package.
The [UNRELEASED] tag at the top of the file should always be there to log the work until a release occurs.

Work should be logged under one of the following subtitles:

  • Added
  • Changed
  • Fixed
  • Removed

On a release, a version of the following format should be added to all the current unreleased changes in the file.
## [major.minor.patch] - YYYY-MM-DD

Deployment

Pip package

On a terminal, run the following (execute on project's root directory):

  • Activate project environment:
    $ . ./scripts/helpers/environment.sh
  • To build pip package:
    $ make build-package
  • To publish pip package (requires credentials to PyPi):
    $ make publish-package

Docker image

On a terminal, run the following (execute on project's root directory):

  • Activate project environment:
    $ . ./scripts/helpers/environment.sh
  • To build docker image:
    $ make build-docker

Production

For production, a Docker image is used. This image is published publicly on docker hub.

  • First pull image from docker hub:
    $ docker pull nichelia/nwa:[version]
  • First pull image from docker hub:
    $ docker run --rm -it -v ~/nwa_bin:/usr/src/bin nichelia/nwa:[version]
    This command mounts the application's bin (outcome) to user's root directory under nwa_bin folder.

where version is the published application version (e.g. 0.1.0)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nwa-0.0.1.tar.gz (10.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

nwa-0.0.1-py3-none-any.whl (13.2 kB view details)

Uploaded Python 3

File details

Details for the file nwa-0.0.1.tar.gz.

File metadata

  • Download URL: nwa-0.0.1.tar.gz
  • Upload date:
  • Size: 10.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.0.0 CPython/3.8.2 Linux/5.3.0-1022-azure

File hashes

Hashes for nwa-0.0.1.tar.gz
Algorithm Hash digest
SHA256 3b434f65eff92319f30b350968a8f3aa895d0f207070080824287287d54308aa
MD5 447bcaa73834cc2945580d2ef33b4dba
BLAKE2b-256 31cbf9283c90ab35f7095d791e58810c00c6a82d25df86cf6ec399fe56a54cfa

See more details on using hashes here.

File details

Details for the file nwa-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: nwa-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 13.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.0.0 CPython/3.8.2 Linux/5.3.0-1022-azure

File hashes

Hashes for nwa-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 1e4e45359bc49bf991e72e5edadc722dabe7dd21ced6eb175abea592d713faf3
MD5 dcc042813b84fe02e6b9c898c84acfc5
BLAKE2b-256 a98e7bd55e74894b11ed69eb2cca90bff54a2f61295d0738426b03926b1825d1

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page