<commit_before>== Working with the code

=== Install dependencies

It's assumed a Python environment with pip is installed.

==== Windows
Make sure the http://www.swig.org/[swig] executable is in your PATH. Add http://libusb.info/[libusb]
and https://developers.yubico.com/yubikey-personalization/[ykpers] DLLs to the root of the repository.

==== macOS

    $ brew install swig ykpers libusb

==== Linux (Debian-based distributions)

    $ sudo apt install swig libykpers-1-1 libu2f-udev pcscd libpcsclite-dev

=== Install yubikey-manager from source

Clone the repository:

    $ git clone https://github.com/Yubico/yubikey-manager.git
    $ cd yubikey-manager

Install in editable mode with pip:

    $ pip install -e .

Show available commands:

    $ ykman --help

Show information about inserted YubiKey:

    $ ykman info

Run ykman in DEBUG mode:

    $ ykman --log-level DEBUG info

To uninstall, run:

    $ pip uninstall yubikey-manager

=== Code Style

This project uses http://flake8.pycqa.org/[Flake8] for code style with a http://pre-commit.com/[pre-commit] hook.
To use these:

    $ pip install pre-commit flake8
    $ pre-commit install

=== Unit tests

To run unit tests:

    $ python setup.py test

=== Integration tests

WARNING: ONLY run these on a dedicated developer key, as it will permanently delete data on the device!

To run integration tests, indicate the serial number (given by `ykman list`) of the YubiKey to test with:

   $ DESTRUCTIVE_TEST_YUBIKEY_SERIAL=123456 python setup.py test<commit_msg>Update development.adoc re packaging<commit_after>== Working with the code

=== Install dependencies

It's assumed a Python environment with pip is installed.

==== Windows
Make sure the http://www.swig.org/[swig] executable is in your PATH. Add http://libusb.info/[libusb]
and https://developers.yubico.com/yubikey-personalization/[ykpers] DLLs to the root of the repository.

==== macOS

    $ brew install swig ykpers libusb

==== Linux (Debian-based distributions)

    $ sudo apt install swig libykpers-1-1 libu2f-udev pcscd libpcsclite-dev

=== Install yubikey-manager from source

Clone the repository:

    $ git clone https://github.com/Yubico/yubikey-manager.git
    $ cd yubikey-manager

Install in editable mode with pip:

    $ pip install -e .

Show available commands:

    $ ykman --help

Show information about inserted YubiKey:

    $ ykman info

Run ykman in DEBUG mode:

    $ ykman --log-level DEBUG info

To uninstall, run:

    $ pip uninstall yubikey-manager

=== Code Style

This project uses http://flake8.pycqa.org/[Flake8] for code style with a http://pre-commit.com/[pre-commit] hook.
To use these:

    $ pip install pre-commit flake8
    $ pre-commit install

=== Unit tests

To run unit tests:

    $ python setup.py test

=== Integration tests

WARNING: ONLY run these on a dedicated developer key, as it will permanently delete data on the device!

To run integration tests, indicate the serial number (given by `ykman list`) of the YubiKey to test with:

   $ DESTRUCTIVE_TEST_YUBIKEY_SERIAL=123456 python setup.py test

=== Packaging

For third-party packaging, use the source releases and signatures available https://developers.yubico.com/yubikey-manager/Releases/[here].
{'fraction_non_alphanumeric': 0.09197530864197531, 'fraction_numerical': 0.007407407407407408, 'mean_word_length': 3.6432664756446993, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 5, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1315525', 'n_tokens_mistral': 1056, 'n_tokens_neox': 998, 'n_words': 364}