Skip to content

Commit 7b77600

Browse files
committed
Release Lena v0.5.
1 parent d077f23 commit 7b77600

5 files changed

Lines changed: 116 additions & 3 deletions

File tree

TIDINGS.rst

Lines changed: 109 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,112 @@
1+
====================
2+
Lena release 0.5
3+
====================
4+
5+
Lena v0.5 was released on 1st May 2022.
6+
7+
What's new
8+
----------
9+
10+
Adds graphs (Lena graph structure and adapters for ROOT graphs with error bars).
11+
12+
Improves GroupPlots and facilitates analysis (user's sequences)
13+
separation between different modules.
14+
15+
* lena.context changes:
16+
17+
* Context allows pickling.
18+
* difference adds a keyword argument *level*.
19+
20+
* lena.core changes:
21+
22+
* FillRequest element no longer yields in case of empty flow.
23+
Adds a keyword argument *yield_on_remainder*.
24+
Adds keyword arguments *buffer_input* and *buffer_output*
25+
(both obligatory, same for FillRequestSeq),
26+
*reset_name*.
27+
FillRequest requires explicit *reset* for FillCompute elements.
28+
Fixes/improves *run, fill, request* methods of FillRequest.
29+
30+
* lena.flow changes:
31+
32+
* GroupBy accepts formatting strings.
33+
* GroupPlots selects all values by default.
34+
* GroupScale modifies scale of a group in place
35+
(that is mutates its members and not produces their scaled copies).
36+
* Adds MapGroup to simultaneously modify a group of values
37+
(produced by GroupPlots).
38+
* RunIf accepts a variable number of arguments.
39+
40+
* lena.output changes:
41+
42+
* Adds iterable_to_table.
43+
* ToCSV no longer requires *to_csv* method (and does not use that).
44+
Now to be written as a table, it is sufficient for a structure to be iterable.
45+
ToCSV ignores strings (passes them unchanged).
46+
ToCSV updates context when data has a method *_update_context(context)*
47+
(used during the "destruction" of structures).
48+
* Write doesn't require *context.output* to be present.
49+
Write accepts objects with *write(filename)* method as writable data.
50+
Write doesn't write values where data part is equal to *context.output.filename*
51+
(this means that it was already written by another Write element).
52+
53+
* lena.structures changes:
54+
55+
* Adds a graph structure.
56+
* histogram adds a method *_update_context* (like graph).
57+
* HistToGraph accepts a keyword argument *scale*
58+
and works with multidimensional histograms.
59+
* hist_to_graph adds a keyword argument *scale*.
60+
* HistToGraph and hist_to_graph add a keyword argument *field_names*.
61+
* Adds iter_bins_with_edges (in fact, makes that public).
62+
* MapBins sets default *select_bins* keyword argument selecting everything.
63+
* Add root_graph_errors structure and ROOTGraphErrors element.
64+
65+
Bug fixes
66+
---------
67+
68+
* Fixes structures.histogram.scale method,
69+
which did not store a computed scale.
70+
71+
Deprecations and backward incompatible changes
72+
----------------------------------------------
73+
74+
* lena.context.difference recurses infinitely by default.
75+
76+
* lena.flow changes:
77+
78+
* Deprecates GroupPlots initialization keyword arguments *transform*
79+
and *select* (use flow.MapGroup and flow.RunIf instead).
80+
* Move SplitIntoBins, MapBins, IterateBins, get_example_bin, cell_to_string
81+
to lena.structures.
82+
83+
* lena.structures changes:
84+
85+
* Histogram element no longer accepts an initialization keyword argument
86+
*context* and no longer has histogram public fields
87+
(they remain only in the histogram structure).
88+
*fill* method no longer accepts a weight
89+
(this is not needed in a Sequence or will require a different interface).
90+
*reset* algorithm is fixed and no longer throws an error.
91+
Histogram no longer updates context during *compute*.
92+
* Graph is deprecated.
93+
* hist_to_graph drops a keyword argument *context*.
94+
* hist_to_graph produces graphs (not Graphs).
95+
* HistToGraph requires *make_value* to be a Variable (not a function).
96+
*context.value* is updated with the context of the graph's value.
97+
* make_hist_context is deprecated.
98+
99+
* lena.output.ToCSV no longer uses *to_csv* method (see changes).
100+
101+
Technical changes
102+
-----------------
103+
104+
* Adds performance measurement scripts.
105+
* Fixes hypothesis error in Python 3.10 for extremely small ("subnormal") histogram weights.
106+
* Improves docs, adds new Sphinx directives (*deprecated* and *versionadded*).
107+
* Update Sphinx conf.py for *napoleon*. Add sphinx to requirements.txt.
108+
* Adds tests. Test coverage is 92% (287/3604 missing vs total).
109+
1110
====================
2111
Lena release 0.4
3112
====================

docs/source/conf.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,9 @@ def setup(app):
3131
author = u'Yaroslav Nikitenko'
3232

3333
# The short X.Y version
34-
version = u'0.4'
34+
version = u'0.5'
3535
# The full version, including alpha/beta/rc tags
36-
release = u'0.4'
36+
release = u'0.5'
3737
# release = u'0.1-alpha'
3838

3939

lena/flow/group_plots.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,9 @@ def __init__(self, *seq, **map_scalars):
7676
7777
Set a keyword argument *map_scalars* to ``False``
7878
to ignore scalar values (those that are not groups).
79+
Other keyword arguments raise :exc:`.LenaTypeError`.
80+
81+
.. versionadded:: 0.5
7982
"""
8083
# todo: could be made a FillCompute element, depending on *seq*
8184
try:

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
setuptools.setup(
99
name="lena",
10-
version="0.4",
10+
version="0.5",
1111
author="Yaroslav Nikitenko",
1212
author_email="metst13@gmail.com",
1313
description="Lena is an architectural framework for data analysis",

tests/conftest.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,3 +5,4 @@
55
# otherwise will have problems either with tox,
66
# or when executing pytest directly
77
collect_ignore_glob += ["root/*"]
8+
collect_ignore_glob += ["*/*_root_*"]

0 commit comments

Comments
 (0)