···11# deep-filter
22A simple package that filters out values from dicts/lists, including all dicts/lists nested within it.
3344-# Usage
44+## Usage
55```python
66from deep_filter import deep_filter
77x = {
···1919# {'yep': [{}, 99]}
2020```
21212222-#### deep_filter(dict_or_list, filter_func=default_filter_func)
2222+### deep_filter(dict_or_list, filter_func=default_filter_func)
2323- **dict_or_list**: A dictionary or list
2424- **filter_func**: An optional callback function. It will take a value as an argument, and return `True` if the value will be kept and `False` if not. If omitted, `None` values will be filtered out.
25252626-Returns your dict or list, filtered.2626+Returns your dict or list, filtered.
2727+2828+## Dev instructions
2929+3030+### Get started
3131+3232+1. Install Python (Python 3.7 works, probably other versions too)
3333+2. Install [Poetry](https://poetry.eustace.io). Poetry is used to manage dependencies, the virtual environment and publishing to PyPI
3434+3. Run `poetry install` to install Python package dependencies
3535+3636+I recommend running `poetry config virtualenvs.in-project true`, which makes Poetry store your Python virtual environment inside the project folder. Additionally, it lets VSCode's Python extension detect the virtual environment if you set the `python.pythonPath` setting to `${workspaceFolder}/.venv/bin/python` in your settings.
3737+3838+### Running
3939+4040+To test if things work, you can run the following command to open the Python REPL. Then you can write Python, such as the usage examples:
4141+4242+```
4343+poetry run python
4444+```
4545+4646+### Releasing a new version
4747+4848+1. Consider updating the lockfile by running `poetry update`, then check if thing still work
4949+2. Bump the version number:
5050+ ```
5151+ poetry version <version>
5252+ ```
5353+3. Update `CHANGELOG.md`
5454+4. Build:
5555+ ```
5656+ poetry build
5757+ ```
5858+5. Commit and create git tag
5959+6. Create GitHub release with release notes and attach the build files
6060+7. Publish to PyPi:
6161+ ```
6262+ poetry publish
6363+ ```