Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
460f10c
Update changelog.rst
BR1py Jul 3, 2024
be33100
Merge pull request #37 from BR1py/main
BR1py Jul 3, 2024
19ea5bb
Imporved test script for actions in GIT
BR1py Jul 4, 2024
7e4ee0c
Merge remote-tracking branch 'remotes/origin/HEAD' into dev
BR1py Aug 30, 2025
b62ff27
Test for new actions scripts (windows only)
BR1py Aug 30, 2025
6cec084
Adaption action scripts windows test2
BR1py Aug 30, 2025
50a66b8
fixed missing import
BR1py Aug 30, 2025
a71710b
Fixed import issue in serialize
BR1py Aug 30, 2025
6167cfd
import issue fixed
BR1py Aug 30, 2025
ca13027
modified import in test_itertree_examples
BR1py Aug 30, 2025
5c7940c
remove old parameter "up_to_down" from iterators
BR1py Aug 30, 2025
542d86b
check modified import in performance test
BR1py Aug 30, 2025
a4a3bec
Performance analysis skip in actions
BR1py Aug 30, 2025
6deb4f1
renamed test_append to check_append to exclude the script from the ac…
BR1py Aug 30, 2025
8b69956
renamed the rest of the analysis files
BR1py Aug 30, 2025
8220f1d
Modified import for tests for Python >3.11 GIT Actions (test)
BR1py Aug 30, 2025
7325e85
Linux test versions expanded
BR1py Aug 30, 2025
630b918
Upddated actions removed the recommended runs
BR1py Aug 30, 2025
d85dc2c
Next try still issues in actions
BR1py Aug 30, 2025
6d92228
next try action update
BR1py Aug 30, 2025
74d2404
Switched Linux version
BR1py Aug 30, 2025
89f2b0f
Linux actions update
BR1py Aug 30, 2025
73cd187
next update for actions
BR1py Aug 30, 2025
08287a9
Another update for actions
BR1py Aug 30, 2025
5d49f21
Actions update
BR1py Aug 30, 2025
85f85af
Release Candidate
BR1py Aug 30, 2025
677689f
Puplished Release
BR1py Sep 1, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 0 additions & 38 deletions .github/workflows/python_package_mac_recommended.yml

This file was deleted.

36 changes: 0 additions & 36 deletions .github/workflows/python_package_recommended.yml

This file was deleted.

8 changes: 4 additions & 4 deletions .github/workflows/python_package_standard.yml
Original file line number Diff line number Diff line change
@@ -1,13 +1,12 @@
name: Pytest Package UBUNTU with standard installation
name: Pytest Package Linux with standard installation
on: [push]
jobs:
Explore-Pytest-Action:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:

python-version: ["3.7","3.8", "3.9","3.10","3.11"]
python-version: ["3.8", "3.9","3.10","3.11"]
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
Expand All @@ -18,9 +17,10 @@ jobs:
run: git checkout ${{ env.BRANCH }}
- name: Install the package
run: |
python setup.py install
pip install --upgrade pip
pip install pytest
pip install setuptools
python setup.py install
- name: GitHub Action for pytest
run: |
#python -m pytest ./tests
Expand Down
36 changes: 0 additions & 36 deletions .github/workflows/python_package_win_recommended.yml

This file was deleted.

5 changes: 3 additions & 2 deletions .github/workflows/python_package_win_standard.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ jobs:
fail-fast: false
matrix:

python-version: ["3.7","3.8", "3.9","3.10","3.11"]
python-version: ["3.6.8","3.7.9","3.8.10", "3.9.13","3.10.11","3.11.9","3.12.10","3.13.7"]
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
Expand All @@ -18,9 +18,10 @@ jobs:
run: git checkout ${{ env.BRANCH }}
- name: Install the package
run: |
python setup.py install
pip install --upgrade pip
pip install pytest
pip install setuptools
python setup.py install
- name: GitHub Action for pytest
run: |
#python -m pytest ./tests
Expand Down
10 changes: 5 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,15 @@
![Static Badge](https://img.shields.io/badge/python-%3E%3D3.4-green)
[![Static Badge](https://img.shields.io/badge/licence-MIT(hpp)-green)](https://github.com/BR1py/itertree/blob/main/LICENSE)
[![Static Badge](https://img.shields.io/badge/documenation-https%3A%2F%2Fitertree.readthedocs.io%2Fen%2Flatest%2F-yellow?logo=readthedocs)](https://itertree.readthedocs.io/en/latest/)
![GitHub Release 1.1.3 - Published_At](https://img.shields.io/github/release-date/Br1py/itertree)
![GitHub Release 1.2.0 - Published_At](https://img.shields.io/github/release-date/Br1py/itertree)


# itertree python package


## Welcome to itertree python package

Release 1.1.3 - released
Release 1.2.0 - released

* Do you have to store data in a tree like structure?
* Do you need good performance and a reach feature set in the tree object?
Expand Down Expand Up @@ -53,14 +53,14 @@ are obviously only possible if the other packages are available.

But we have two recommendations which give the package additional performance:

* blist - *Highly recommended!* This will speedup the iTree performance in huge trees especially for inserting and lefthandside operations
* blist - *Highly recommended!* This will speed up the iTree performance in huge trees especially for inserting and lefthandside operations

* package link: https://pypi.org/project/blist/
* documentation: http://stutzbachenterprises.com/blist/.

-> in case the package is not found normal list object will be used instead

-> If you like to utilize blist under Python 3.10 and 3.11 read the installation hints in the
-> If you like to utilize blist under Python >3.10 read the installation hints in the
Introduction of the itertree documentation.


Expand Down Expand Up @@ -146,7 +146,7 @@ of the parent sub-tree (like `append()` in lists).
Each `iTree`-object has a tag which is the main part of the identifier of the object. For tags you can use any
type of hashable objects.

Different than the keys in dictionaries the given tags must not be unique! The user should understand that in general
Different as the keys in dictionaries the given tags must not be unique! The user should understand that in general
`iTree`-objects behave more like nested lists than nested dicts:

>>> root.append(iTree('child', 5))
Expand Down
2 changes: 1 addition & 1 deletion build_helpers/build_wheel.cmd
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
c:\tools\python\python39\python -m build
c:\tools\python\python311\python -m build

rem For PyPi upload use:
rem c:\tools\python\python35\python -m twine upload dist/*
Expand Down
5 changes: 3 additions & 2 deletions build_helpers/commit_to_pypi.txt
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
workflow

1. ensure that all version informations in th epackage are updated properly
1. ensure that all version information in the package are updated properly
1b. Check especially in README.md!
2. build the wheel via build_wheel.cmd
3. PyPi upload:
c:\tools\python\python35\python -m twine upload dist/*
temporary remove the blist package
c:\tools\python\python311\python -m twine upload dist/*
4. push dev to main on git
5. recheck if readthedocs was properly updated
6. Create the release on GIT and tag it
28 changes: 26 additions & 2 deletions build_helpers/update_version.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,28 @@
# -*- coding: utf-8 -*-
"""
This code is taken from the itertree package:

___ _____ _____ ____ _____ ____ _____ _____
|_ _|_ _| ____| _ \_ _| _ \| ____| ____|
| | | | | _| | |_) || | | |_) | _| | _|
| | | | | |___| _ < | | | _ <| |___| |___
|___| |_| |_____|_| \_\|_| |_| \_\_____|_____|


https://pypi.org/project/itertree/
GIT Home:
https://github.com/BR1py/itertree
The documentation can be found here:
https://itertree.readthedocs.io/en/latest/index.html

The code is published under MIT license
For more information see: https://en.wikipedia.org/wiki/MIT_License

CONTENT DESCRIPTION:

This helper script is used to replace the version information in the whole source package
"""
import os
VERSION='1.1.3'
VERSION='1.2.0'

def replacer(filename,pre_tag,post_tag):
print('Update version in %s' % filepath)
Expand Down Expand Up @@ -35,6 +57,8 @@ def replacer(filename,pre_tag,post_tag):

print('Write version: %s into the files\n'%VERSION)

os.chdir('..')

filepath = 'src/itertree/__init__.py'
pre_tag=b'__version__ = \''
post_tag=b'\''
Expand Down
Binary file removed dist/itertree-1.1.3-py3-none-any.whl
Binary file not shown.
Binary file removed dist/itertree-1.1.3.tar.gz
Binary file not shown.
Binary file added dist/itertree-1.2.0-py3-none-any.whl
Binary file not shown.
Binary file added dist/itertree-1.2.0.tar.gz
Binary file not shown.
4 changes: 2 additions & 2 deletions docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@

# General information about the project.
project = u'itertree'
copyright = u'%d, B.R. MIT Licence (human protect patch)' % (time.gmtime().tm_year,)
copyright = u'%d, B.R. MIT Licence' % (time.gmtime().tm_year,)

# The version info for the project you're documenting, acts as replacement for
# |version| and |release|, also used in various other places throughout the
Expand All @@ -59,7 +59,7 @@
# The short X.Y version.

# The full version, including alpha/beta/rc tags.
release = '1.1.3'
release = '1.2.0'

# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
Expand Down
41 changes: 0 additions & 41 deletions docs/docs/background.rst
Original file line number Diff line number Diff line change
Expand Up @@ -232,44 +232,3 @@ related to the given key or index in the `iTree.value` and again the method will

You might have a look in the examples/itree_data_models.py file to get a better idea what a data-model
is in this contents.

.. _background_licence:

********************************
Short words about the licencing
********************************

This Software and it's artifacts are licenced under MIT licence with an extension that protects human lives.

Therefore the condition:

"
Human protect patch:
The program and its derivative work will neither be modified or executed to harm any human being nor through
inaction permit any human being to be harmed."

was added to the licence.

The author is aware about the situation that in practices this might not be controlled or even judged.

But it should be clear that from the point of view of the author such an usage is illegal. The author is not willing
to spend his lifetime and creativity for the propose of killing people. We think the user should respect the
intense of the author if he uses his knowledge and objectives.

Of course the point can be discussed and we respect here other meanings but please consider and
respect this as a personal opinion.

In practices people will always find good arguments for utilizing things also to harm people (e.g. control terrorism).
But from our point of view in a modern, enlightened society we should find better answers.

E.g. we also think that the possibility of winning a war is a total illusion. Beside raising fears the lie of
winning wars is most often used to utilize large amount of resources which make few people richer or more powerful.
But all the targeted people on both sides of such conflicts loose lives, freedom, truth, etc.. To protect us from
such situations we need globally respected rules and less national intentions. This is the direction
were we must put our resources and effort.

At least: People should take responsibility for the objectives they are delivering and publishing. They should
give conditions for usage. And the global law should respect such conditions given by the authors even
if it is against the national interests and the interests of the majority.

So please respect the authors meaning even if you have other opinion about this content.
Loading
Loading