uproot 5.4.1__tar.gz → 5.4.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {uproot-5.4.1 → uproot-5.4.2}/.all-contributorsrc +18 -0
- {uproot-5.4.1 → uproot-5.4.2}/.pre-commit-config.yaml +4 -4
- {uproot-5.4.1 → uproot-5.4.2}/PKG-INFO +6 -1
- {uproot-5.4.1 → uproot-5.4.2}/README.md +4 -0
- {uproot-5.4.1 → uproot-5.4.2}/pyproject.toml +1 -0
- {uproot-5.4.1 → uproot-5.4.2}/src/uproot/behaviors/TBranch.py +18 -5
- {uproot-5.4.1 → uproot-5.4.2}/src/uproot/const.py +51 -7
- {uproot-5.4.1 → uproot-5.4.2}/src/uproot/containers.py +2 -2
- {uproot-5.4.1 → uproot-5.4.2}/src/uproot/interpretation/identify.py +8 -0
- {uproot-5.4.1 → uproot-5.4.2}/src/uproot/interpretation/library.py +6 -1
- {uproot-5.4.1 → uproot-5.4.2}/src/uproot/language/python.py +4 -0
- {uproot-5.4.1 → uproot-5.4.2}/src/uproot/models/RNTuple.py +456 -104
- {uproot-5.4.1 → uproot-5.4.2}/src/uproot/source/coalesce.py +9 -2
- {uproot-5.4.1 → uproot-5.4.2}/src/uproot/version.py +2 -2
- {uproot-5.4.1 → uproot-5.4.2}/src/uproot/writing/_cascadentuple.py +5 -5
- {uproot-5.4.1 → uproot-5.4.2}/src/uproot/writing/_cascadetree.py +3 -1
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0013_rntuple_anchor.py +1 -1
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_1191_rntuple_fixes.py +1 -1
- uproot-5.4.2/tests/test_1250_rntuple_improvements.py +85 -0
- uproot-5.4.2/tests/test_1285_rntuple_multicluster_concatenation.py +20 -0
- uproot-5.4.2/tests/test_1318_dont_compare_big_endian_in_awkward.py +18 -0
- uproot-5.4.2/tests/test_1321_pandas_changed_api_again.py +20 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests-wasm/test_1272_basic_functionality.py +1 -1
- {uproot-5.4.1 → uproot-5.4.2}/.github/ISSUE_TEMPLATE/bug-report.md +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/.github/ISSUE_TEMPLATE/documentation.md +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/.github/ISSUE_TEMPLATE/feature-request.md +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/.github/dependabot.yml +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/.github/workflows/build-distributions.yml +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/.github/workflows/build-test.yml +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/.github/workflows/deploy.yml +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/.github/workflows/semantic-pr-title.yml +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/.github/workflows/upload-nightly-wheels.yml +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/.gitignore +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/.readthedocs.yml +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/CITATION.cff +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/LICENSE +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/dev/example-objects.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/dev/make-models.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/docs-img/diagrams/abstraction-layers.png +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/docs-img/diagrams/abstraction-layers.svg +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/docs-img/diagrams/example-dask-graph.png +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/docs-img/diagrams/uproot-awkward-timeline.png +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/docs-img/diagrams/uproot-awkward-timeline.svg +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/docs-img/logo/logo-300px-white.png +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/docs-img/logo/logo-300px.png +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/docs-img/logo/logo-600px.png +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/docs-img/logo/logo.svg +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/docs-img/photos/switcheroo.jpg +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/docs-sphinx/_templates/breadcrumbs.html +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/docs-sphinx/basic.rst +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/docs-sphinx/conf.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/docs-sphinx/index.rst +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/docs-sphinx/make_changelog.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/docs-sphinx/prepare_docstrings.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/docs-sphinx/requirements.txt +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/docs-sphinx/uproot3-to-4.rst +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/src/uproot/__init__.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/src/uproot/_awkwardforth.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/src/uproot/_dask.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/src/uproot/_util.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/src/uproot/behavior.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/src/uproot/behaviors/RooCurve.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/src/uproot/behaviors/RooHist.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/src/uproot/behaviors/TAxis.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/src/uproot/behaviors/TBranchElement.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/src/uproot/behaviors/TDatime.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/src/uproot/behaviors/TGraph.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/src/uproot/behaviors/TGraphAsymmErrors.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/src/uproot/behaviors/TGraphErrors.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/src/uproot/behaviors/TH1.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/src/uproot/behaviors/TH2.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/src/uproot/behaviors/TH2Poly.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/src/uproot/behaviors/TH3.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/src/uproot/behaviors/TParameter.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/src/uproot/behaviors/TProfile.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/src/uproot/behaviors/TProfile2D.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/src/uproot/behaviors/TProfile3D.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/src/uproot/behaviors/TTree.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/src/uproot/behaviors/__init__.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/src/uproot/cache.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/src/uproot/compression.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/src/uproot/deserialization.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/src/uproot/dynamic.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/src/uproot/exceptions.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/src/uproot/extras.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/src/uproot/interpretation/__init__.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/src/uproot/interpretation/grouped.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/src/uproot/interpretation/jagged.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/src/uproot/interpretation/numerical.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/src/uproot/interpretation/objects.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/src/uproot/interpretation/strings.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/src/uproot/language/__init__.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/src/uproot/model.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/src/uproot/models/TArray.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/src/uproot/models/TAtt.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/src/uproot/models/TBasket.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/src/uproot/models/TBranch.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/src/uproot/models/TClonesArray.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/src/uproot/models/TDatime.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/src/uproot/models/TGraph.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/src/uproot/models/TH.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/src/uproot/models/THashList.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/src/uproot/models/TLeaf.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/src/uproot/models/TList.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/src/uproot/models/TMatrixT.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/src/uproot/models/TNamed.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/src/uproot/models/TObjArray.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/src/uproot/models/TObjString.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/src/uproot/models/TObject.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/src/uproot/models/TRef.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/src/uproot/models/TString.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/src/uproot/models/TTable.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/src/uproot/models/TTime.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/src/uproot/models/TTree.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/src/uproot/models/__init__.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/src/uproot/pyroot.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/src/uproot/reading.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/src/uproot/serialization.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/src/uproot/sink/__init__.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/src/uproot/sink/file.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/src/uproot/source/__init__.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/src/uproot/source/chunk.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/src/uproot/source/cursor.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/src/uproot/source/file.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/src/uproot/source/fsspec.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/src/uproot/source/futures.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/src/uproot/source/http.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/src/uproot/source/object.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/src/uproot/source/s3.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/src/uproot/source/xrootd.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/src/uproot/streamers.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/src/uproot/writing/__init__.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/src/uproot/writing/_cascade.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/src/uproot/writing/_dask_write.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/src/uproot/writing/identify.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/src/uproot/writing/interpret.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/src/uproot/writing/writable.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/__init__.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/conftest.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/samples/h_dynamic.pkl +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0001_source_class.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0006_notify_when_downloaded.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0007_single_chunk_interface.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0008_start_interpretation.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0009_nested_directories.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0010_start_streamers.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0011_generate_classes_from_streamers.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0014_all_ttree_versions.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0016_interpretations.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0017_multi_basket_multi_branch_fetch.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0018_array_fetching_interface.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0022_number_of_branches.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0023_more_interpretations_1.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0023_ttree_versions.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0028_fallback_to_read_streamer.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0029_more_string_types.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0031_test_stl_containers.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0033_more_interpretations_2.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0034_generic_objects_in_ttrees.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0035_datatype_generality.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0038_memberwise_serialization.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0043_iterate_function.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0044_concatenate_function.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0046_histograms_bh_hist.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0053_parents_should_not_be_bases.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0058_detach_model_objects_from_files.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0066_fix_http_fallback_freeze.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0067_common_entry_offsets.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0081_dont_parse_colons.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0087_memberwise_splitting_not_implemented_messages.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0088_read_with_http.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0099_read_from_file_object.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0112_fix_pandas_with_cut.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0118_fix_name_fetch_again.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0123_atlas_issues.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0126_turn_unknown_emptyarrays_into_known_types.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0167_use_the_common_histogram_interface.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0172_allow_allocators_in_vector_typenames.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0173_empty_and_multiprocessing_bugs.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0182_complain_about_missing_files.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0194_fix_lost_cuts_in_iterate.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0220_contiguous_byte_ranges_in_http.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0228_read_TProfiles.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0240_read_TGraphAsymmErrors.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0278_specializations_for_TParameter.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0302_pickle.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0303_empty_jagged_array.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0320_start_working_on_ROOT_writing.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0322_writablefile_infrastructure.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0329_update_existing_root_files.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0335_empty_ttree_division_by_zero.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0341_manipulate_streamer_info.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0344_writabledirectory_can_read.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0345_bulk_copy_method.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0349_write_TObjString.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0350_read_RooCurve_RooHist.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0351_write_TList.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0352_write_THashList.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0384_move_behavior_of_and_fix_383.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0398_dimensions_in_leaflist.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0405_write_a_histogram.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0406_write_a_ttree.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0407_read_TDatime.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0412_write_multidimensional_numpy_to_ttree.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0414_write_jagged_arrays.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0416_writing_compressed_data.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0418_read_TTable.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0420_pyroot_uproot_interoperability.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0422_hist_integration.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0430_global_index_for_tuples_of_DataFrames.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0438_TClonesArray_is_not_AsGrouped.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0439_check_awkward_before_numpy.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0442_regular_TClonesArray.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0472_tstreamerinfo_for_ttree.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0475_remember_to_update_freesegments.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0484_manually_add_model_for_TMatrixTSym_double_.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0487_implement_asdtypeinplace.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0498_create_leaf_branch_in_extend.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0519_remove_memmap_copy.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0520_dynamic_classes_cant_be_abc_subclasses.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0569_fBits_is_4_bytes.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0576_unicode_in_names.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0578_dask_for_numpy.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0580_round_trip_for_no_flow_histograms.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0589_explicitly_interpret_RVec_type.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0603_dask_delayed_open.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0609_num_enteries_func.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0610_awkward_form.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0630_rntuple_basics.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0637_setup_tests_for_AwkwardForth.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0643_reading_vector_pair_TLorentzVector_int.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0651_implement_transformed_axis.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0652_dask_for_awkward.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0662_rntuple_stl_containers.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0692_fsspec_reading.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0692_fsspec_writing.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0700_dask_empty_arrays.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0705_rntuple_writing_metadata.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0750_avoid_empty_TBasket_issue.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0755_dask_awkward_column_projection.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0791_protect_uproot_project_columns_from_dask_node_names.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0798_DAOD_PHYSLITE.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0808_fix_awkward_form_for_AsStridedObjects.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0816_separate_AwkwardForth_machines_by_TBranch.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0832_ak_add_doc_should_also_add_to_typetracer.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0840_support_tleafG.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0841_fix_814.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0844_fix_delete_hist_from_root.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0852_fix_strided_interp_extra_offsets.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0870_writing_arrays_of_type_unknown_fix_822.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0876_uproot_dask_blind_steps.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0886_fix_awkward_form_breadcrumbs.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0910_fix_906_members_non_numerical_branches.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0911_fix_interp_array_non_numerical_objs_issue_880.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0912_fix_pandas_and_double_nested_vectors_issue_885.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0916_read_from_s3.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0927_dont_assume_uproot_in_global_scope_in_TPython_Eval.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0930_expressions_in_pandas.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0940_feat_add_TLeafC_string_support.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0962_RNTuple_update.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0965_inverted_axes_variances_hist_888.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_0976_path_object_split.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_1000-write-TProfiles.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_1043_const_std_string.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_1058_dask_awkward_report.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_1063_dask_distributed.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_1070_pandas_dataframe_building_performance_fix.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_1085_dask_write.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_1102_any_locks_in_models_must_be_transient.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_1114_fix_attempt_to_concatenate_numpy_with_awkward.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_1120_check_decompression_executor_pass_for_dask.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_1127_fix_allow_colon_in_key_names.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_1128_TGraph_writing.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_1146_split_ranges_for_large_files_over_http.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_1154_classof_using_relative_path.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_1160_std_string_in_TDirectory.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_1180_read_free_floating_vector_issue_1179.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_1181_support_for_stl_list.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_1182_add_support_for_bitset.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_1183_ttime_custom.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_1186_dtype_might_raise_ValueError.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_1189_dask_failing_on_duplicate_keys.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_1198_coalesce.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_1207_fix_title_of_TBranch_with_counter.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_1212_dont_let_update_mess_up_file_version.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_1221_AwkwardForth_bug.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_1223_more_rntuple_types.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_1254_test_threadpool_executor_for_dask.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_1264_write_NumPy_array_of_strings.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests/test_1275_fix_TStreamerLoop_code_generation.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests-wasm/__init__.py +0 -0
- {uproot-5.4.1 → uproot-5.4.2}/tests-wasm/utils.py +0 -0
|
@@ -587,6 +587,24 @@
|
|
|
587
587
|
"contributions": [
|
|
588
588
|
"code"
|
|
589
589
|
]
|
|
590
|
+
},
|
|
591
|
+
{
|
|
592
|
+
"login": "MatousVozak",
|
|
593
|
+
"name": "MatousVozak",
|
|
594
|
+
"avatar_url": "https://avatars.githubusercontent.com/u/33348191?v=4",
|
|
595
|
+
"profile": "https://github.com/MatousVozak",
|
|
596
|
+
"contributions": [
|
|
597
|
+
"code"
|
|
598
|
+
]
|
|
599
|
+
},
|
|
600
|
+
{
|
|
601
|
+
"login": "rossodisera",
|
|
602
|
+
"name": "Andrea Serafini",
|
|
603
|
+
"avatar_url": "https://avatars.githubusercontent.com/u/46961664?v=4",
|
|
604
|
+
"profile": "https://github.com/rossodisera",
|
|
605
|
+
"contributions": [
|
|
606
|
+
"code"
|
|
607
|
+
]
|
|
590
608
|
}
|
|
591
609
|
],
|
|
592
610
|
"contributorsPerLine": 7,
|
|
@@ -4,7 +4,7 @@ ci:
|
|
|
4
4
|
|
|
5
5
|
repos:
|
|
6
6
|
- repo: https://github.com/pre-commit/pre-commit-hooks
|
|
7
|
-
rev:
|
|
7
|
+
rev: v5.0.0
|
|
8
8
|
hooks:
|
|
9
9
|
- id: check-added-large-files
|
|
10
10
|
- id: check-case-conflict
|
|
@@ -18,19 +18,19 @@ repos:
|
|
|
18
18
|
- id: trailing-whitespace
|
|
19
19
|
|
|
20
20
|
- repo: https://github.com/psf/black-pre-commit-mirror
|
|
21
|
-
rev: 24.
|
|
21
|
+
rev: 24.10.0
|
|
22
22
|
hooks:
|
|
23
23
|
- id: black
|
|
24
24
|
|
|
25
25
|
- repo: https://github.com/astral-sh/ruff-pre-commit
|
|
26
|
-
rev: v0.
|
|
26
|
+
rev: v0.7.2
|
|
27
27
|
hooks:
|
|
28
28
|
- id: ruff
|
|
29
29
|
args: [--fix, --show-fixes]
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
- repo: https://github.com/asottile/pyupgrade
|
|
33
|
-
rev: v3.
|
|
33
|
+
rev: v3.19.0
|
|
34
34
|
hooks:
|
|
35
35
|
- id: pyupgrade
|
|
36
36
|
args: [--py38-plus]
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: uproot
|
|
3
|
-
Version: 5.4.
|
|
3
|
+
Version: 5.4.2
|
|
4
4
|
Summary: ROOT I/O in pure Python and NumPy.
|
|
5
5
|
Project-URL: Download, https://github.com/scikit-hep/uproot5/releases
|
|
6
6
|
Project-URL: Homepage, https://github.com/scikit-hep/uproot5
|
|
@@ -68,6 +68,7 @@ Requires-Dist: pytest-pyodide; extra == 'test-pyodide'
|
|
|
68
68
|
Requires-Dist: pytest-timeout; extra == 'test-pyodide'
|
|
69
69
|
Requires-Dist: pytest>=6; extra == 'test-pyodide'
|
|
70
70
|
Requires-Dist: scikit-hep-testdata; extra == 'test-pyodide'
|
|
71
|
+
Requires-Dist: selenium<=4.25.0; extra == 'test-pyodide'
|
|
71
72
|
Provides-Extra: xrootd
|
|
72
73
|
Requires-Dist: fsspec-xrootd; extra == 'xrootd'
|
|
73
74
|
Description-Content-Type: text/markdown
|
|
@@ -264,6 +265,10 @@ Thanks especially to the gracious help of Uproot contributors (including the [or
|
|
|
264
265
|
<td align="center" valign="top" width="14.28%"><a href="https://github.com/Pepesob"><img src="https://avatars.githubusercontent.com/u/113636251?v=4?s=100" width="100px;" alt="Piotr Sobczyński"/><br /><sub><b>Piotr Sobczyński</b></sub></a><br /><a href="https://github.com/scikit-hep/uproot5/commits?author=Pepesob" title="Code">💻</a></td>
|
|
265
266
|
<td align="center" valign="top" width="14.28%"><a href="https://github.com/giedrius2020"><img src="https://avatars.githubusercontent.com/u/71819123?v=4?s=100" width="100px;" alt="Giedrius Juškevičius"/><br /><sub><b>Giedrius Juškevičius</b></sub></a><br /><a href="https://github.com/scikit-hep/uproot5/commits?author=giedrius2020" title="Code">💻</a></td>
|
|
266
267
|
</tr>
|
|
268
|
+
<tr>
|
|
269
|
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/MatousVozak"><img src="https://avatars.githubusercontent.com/u/33348191?v=4?s=100" width="100px;" alt="MatousVozak"/><br /><sub><b>MatousVozak</b></sub></a><br /><a href="https://github.com/scikit-hep/uproot5/commits?author=MatousVozak" title="Code">💻</a></td>
|
|
270
|
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/rossodisera"><img src="https://avatars.githubusercontent.com/u/46961664?v=4?s=100" width="100px;" alt="Andrea Serafini"/><br /><sub><b>Andrea Serafini</b></sub></a><br /><a href="https://github.com/scikit-hep/uproot5/commits?author=rossodisera" title="Code">💻</a></td>
|
|
271
|
+
</tr>
|
|
267
272
|
</tbody>
|
|
268
273
|
</table>
|
|
269
274
|
|
|
@@ -190,6 +190,10 @@ Thanks especially to the gracious help of Uproot contributors (including the [or
|
|
|
190
190
|
<td align="center" valign="top" width="14.28%"><a href="https://github.com/Pepesob"><img src="https://avatars.githubusercontent.com/u/113636251?v=4?s=100" width="100px;" alt="Piotr Sobczyński"/><br /><sub><b>Piotr Sobczyński</b></sub></a><br /><a href="https://github.com/scikit-hep/uproot5/commits?author=Pepesob" title="Code">💻</a></td>
|
|
191
191
|
<td align="center" valign="top" width="14.28%"><a href="https://github.com/giedrius2020"><img src="https://avatars.githubusercontent.com/u/71819123?v=4?s=100" width="100px;" alt="Giedrius Juškevičius"/><br /><sub><b>Giedrius Juškevičius</b></sub></a><br /><a href="https://github.com/scikit-hep/uproot5/commits?author=giedrius2020" title="Code">💻</a></td>
|
|
192
192
|
</tr>
|
|
193
|
+
<tr>
|
|
194
|
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/MatousVozak"><img src="https://avatars.githubusercontent.com/u/33348191?v=4?s=100" width="100px;" alt="MatousVozak"/><br /><sub><b>MatousVozak</b></sub></a><br /><a href="https://github.com/scikit-hep/uproot5/commits?author=MatousVozak" title="Code">💻</a></td>
|
|
195
|
+
<td align="center" valign="top" width="14.28%"><a href="https://github.com/rossodisera"><img src="https://avatars.githubusercontent.com/u/46961664?v=4?s=100" width="100px;" alt="Andrea Serafini"/><br /><sub><b>Andrea Serafini</b></sub></a><br /><a href="https://github.com/scikit-hep/uproot5/commits?author=rossodisera" title="Code">💻</a></td>
|
|
196
|
+
</tr>
|
|
193
197
|
</tbody>
|
|
194
198
|
</table>
|
|
195
199
|
|
|
@@ -210,10 +210,16 @@ def iterate(
|
|
|
210
210
|
arrays, report = item
|
|
211
211
|
arrays = library.global_index(arrays, global_offset)
|
|
212
212
|
report = report.to_global(global_offset)
|
|
213
|
-
|
|
213
|
+
popper = [arrays]
|
|
214
|
+
del arrays
|
|
215
|
+
del item
|
|
216
|
+
yield popper.pop(), report
|
|
217
|
+
|
|
214
218
|
else:
|
|
215
|
-
|
|
216
|
-
|
|
219
|
+
popper = [library.global_index(item, global_offset)]
|
|
220
|
+
del item
|
|
221
|
+
yield popper.pop()
|
|
222
|
+
|
|
217
223
|
except uproot.exceptions.KeyInFileError:
|
|
218
224
|
if allow_missing:
|
|
219
225
|
continue
|
|
@@ -1111,6 +1117,9 @@ class HasBranches(Mapping):
|
|
|
1111
1117
|
ak_add_doc,
|
|
1112
1118
|
)
|
|
1113
1119
|
|
|
1120
|
+
# no longer needed; save memory
|
|
1121
|
+
del output
|
|
1122
|
+
|
|
1114
1123
|
next_baskets = {}
|
|
1115
1124
|
for branch, basket_num, basket in ranges_or_baskets:
|
|
1116
1125
|
basket_entry_start, basket_entry_stop = basket.entry_start_stop
|
|
@@ -1119,10 +1128,14 @@ class HasBranches(Mapping):
|
|
|
1119
1128
|
|
|
1120
1129
|
previous_baskets = next_baskets
|
|
1121
1130
|
|
|
1131
|
+
# no longer needed; save memory
|
|
1132
|
+
popper = [out]
|
|
1133
|
+
del out
|
|
1134
|
+
|
|
1122
1135
|
if report:
|
|
1123
|
-
yield
|
|
1136
|
+
yield popper.pop(), Report(self, sub_entry_start, sub_entry_stop)
|
|
1124
1137
|
else:
|
|
1125
|
-
yield
|
|
1138
|
+
yield popper.pop()
|
|
1126
1139
|
|
|
1127
1140
|
def keys(
|
|
1128
1141
|
self,
|
|
@@ -5,7 +5,7 @@ This module defines integer constants used by serialization and deserialization
|
|
|
5
5
|
"""
|
|
6
6
|
from __future__ import annotations
|
|
7
7
|
|
|
8
|
-
import
|
|
8
|
+
from enum import IntEnum
|
|
9
9
|
|
|
10
10
|
import numpy
|
|
11
11
|
|
|
@@ -118,8 +118,6 @@ kGenerateOffsetMap = numpy.uint8(1)
|
|
|
118
118
|
kStreamedMemberWise = numpy.uint16(1 << 14)
|
|
119
119
|
|
|
120
120
|
############ RNTuple https://github.com/root-project/root/blob/master/tree/ntuple/v7/doc/specifications.md
|
|
121
|
-
_rntuple_frame_format = struct.Struct("<Q")
|
|
122
|
-
rntuple_env_header = _rntuple_frame_format.pack(0) # TODO: need to check this
|
|
123
121
|
rntuple_col_num_to_dtype_dict = {
|
|
124
122
|
1: "uint64",
|
|
125
123
|
2: "uint32",
|
|
@@ -149,6 +147,8 @@ rntuple_col_num_to_dtype_dict = {
|
|
|
149
147
|
26: "int64", # split + zigzag encoding
|
|
150
148
|
27: "int32", # split + zigzag encoding
|
|
151
149
|
28: "int16", # split + zigzag encoding
|
|
150
|
+
29: "float32trunc",
|
|
151
|
+
30: "float32quant",
|
|
152
152
|
}
|
|
153
153
|
rntuple_col_num_to_size_dict = {
|
|
154
154
|
1: 64,
|
|
@@ -179,6 +179,8 @@ rntuple_col_num_to_size_dict = {
|
|
|
179
179
|
26: 64, # split + zigzag encoding
|
|
180
180
|
27: 32, # split + zigzag encoding
|
|
181
181
|
28: 16, # split + zigzag encoding
|
|
182
|
+
29: 32, # TODO: variable size
|
|
183
|
+
30: 32, # TODO: variable size
|
|
182
184
|
}
|
|
183
185
|
|
|
184
186
|
rntuple_col_type_to_num_dict = {
|
|
@@ -212,7 +214,49 @@ rntuple_col_type_to_num_dict = {
|
|
|
212
214
|
"splitzigzagint16": 28,
|
|
213
215
|
}
|
|
214
216
|
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
217
|
+
|
|
218
|
+
class RNTupleLocatorType(IntEnum):
|
|
219
|
+
STANDARD = 0x00
|
|
220
|
+
LARGE = 0x01
|
|
221
|
+
DAOS = 0x02
|
|
222
|
+
|
|
223
|
+
|
|
224
|
+
class RNTupleEnvelopeType(IntEnum):
|
|
225
|
+
RESERVED = 0x00
|
|
226
|
+
HEADER = 0x01
|
|
227
|
+
FOOTER = 0x02
|
|
228
|
+
PAGELIST = 0x03
|
|
229
|
+
|
|
230
|
+
|
|
231
|
+
class RNTupleFieldRole(IntEnum):
|
|
232
|
+
LEAF = 0x00
|
|
233
|
+
VECTOR = 0x01
|
|
234
|
+
STRUCT = 0x02
|
|
235
|
+
UNION = 0x03
|
|
236
|
+
UNSPLIT = 0x04
|
|
237
|
+
|
|
238
|
+
|
|
239
|
+
class RNTupleFieldFlag(IntEnum):
|
|
240
|
+
REPETITIVE = 0x01
|
|
241
|
+
PROJECTED = 0x02
|
|
242
|
+
CHECKSUM = 0x04
|
|
243
|
+
|
|
244
|
+
|
|
245
|
+
class RNTupleColumnFlag(IntEnum):
|
|
246
|
+
DEFERRED = 0x08
|
|
247
|
+
RANGE = 0x10
|
|
248
|
+
|
|
249
|
+
|
|
250
|
+
class RNTupleExtraTypeIdentifier(IntEnum):
|
|
251
|
+
ROOT = 0x00
|
|
252
|
+
|
|
253
|
+
|
|
254
|
+
class RNTupleUserMetadataType(IntEnum):
|
|
255
|
+
INT = 0x01
|
|
256
|
+
BOOL = 0x02
|
|
257
|
+
DOUBLE = 0x03
|
|
258
|
+
STRING = 0x04
|
|
259
|
+
|
|
260
|
+
|
|
261
|
+
class RNTupleClusterFlag(IntEnum):
|
|
262
|
+
SHARDED = 0x01
|
|
@@ -1541,7 +1541,7 @@ class ROOTRVec(Container, Sequence):
|
|
|
1541
1541
|
return False
|
|
1542
1542
|
|
|
1543
1543
|
def __array__(self, *args, **kwargs):
|
|
1544
|
-
return numpy.asarray(self.
|
|
1544
|
+
return numpy.asarray(self._values, *args, **kwargs)
|
|
1545
1545
|
|
|
1546
1546
|
def tolist(self):
|
|
1547
1547
|
return [
|
|
@@ -1656,7 +1656,7 @@ class STLVector(Container, Sequence):
|
|
|
1656
1656
|
return False
|
|
1657
1657
|
|
|
1658
1658
|
def __array__(self, *args, **kwargs):
|
|
1659
|
-
return numpy.asarray(self.
|
|
1659
|
+
return numpy.asarray(self._values, *args, **kwargs)
|
|
1660
1660
|
|
|
1661
1661
|
def tolist(self):
|
|
1662
1662
|
return [
|
|
@@ -607,6 +607,8 @@ def _parse_node(tokens, i, typename, file, quote, header, inner_header):
|
|
|
607
607
|
return i + 1, _parse_maybe_quote('numpy.dtype("u1")', quote)
|
|
608
608
|
elif has2 and tokens[i].group(0) == "unsigned" and tokens[i + 1].group(0) == "char":
|
|
609
609
|
return i + 2, _parse_maybe_quote('numpy.dtype("u1")', quote)
|
|
610
|
+
elif has2 and tokens[i].group(0) == "signed" and tokens[i + 1].group(0) == "char":
|
|
611
|
+
return i + 2, _parse_maybe_quote('numpy.dtype(">i1")', quote)
|
|
610
612
|
|
|
611
613
|
elif _simplify_token(tokens[i]) == "UChar_t*":
|
|
612
614
|
return (
|
|
@@ -639,6 +641,8 @@ def _parse_node(tokens, i, typename, file, quote, header, inner_header):
|
|
|
639
641
|
has2 and tokens[i].group(0) == "unsigned" and tokens[i + 1].group(0) == "short"
|
|
640
642
|
):
|
|
641
643
|
return i + 2, _parse_maybe_quote('numpy.dtype(">u2")', quote)
|
|
644
|
+
elif has2 and tokens[i].group(0) == "signed" and tokens[i + 1].group(0) == "short":
|
|
645
|
+
return i + 2, _parse_maybe_quote('numpy.dtype(">i2")', quote)
|
|
642
646
|
|
|
643
647
|
elif _simplify_token(tokens[i]) == "Short_t*":
|
|
644
648
|
return (
|
|
@@ -685,6 +689,8 @@ def _parse_node(tokens, i, typename, file, quote, header, inner_header):
|
|
|
685
689
|
return i + 1, _parse_maybe_quote('numpy.dtype(">u4")', quote)
|
|
686
690
|
elif has2 and tokens[i].group(0) == "unsigned" and tokens[i + 1].group(0) == "int":
|
|
687
691
|
return i + 2, _parse_maybe_quote('numpy.dtype(">u4")', quote)
|
|
692
|
+
elif has2 and tokens[i].group(0) == "signed" and tokens[i + 1].group(0) == "int":
|
|
693
|
+
return i + 2, _parse_maybe_quote('numpy.dtype(">i4")', quote)
|
|
688
694
|
|
|
689
695
|
elif _simplify_token(tokens[i]) == "Int_t*":
|
|
690
696
|
return (
|
|
@@ -744,6 +750,8 @@ def _parse_node(tokens, i, typename, file, quote, header, inner_header):
|
|
|
744
750
|
return i + 1, _parse_maybe_quote('numpy.dtype(">u8")', quote)
|
|
745
751
|
elif has2 and tokens[i].group(0) == "unsigned" and tokens[i + 1].group(0) == "long":
|
|
746
752
|
return i + 2, _parse_maybe_quote('numpy.dtype(">u8")', quote)
|
|
753
|
+
elif has2 and tokens[i].group(0) == "signed" and tokens[i + 1].group(0) == "long":
|
|
754
|
+
return i + 2, _parse_maybe_quote('numpy.dtype(">i8")', quote)
|
|
747
755
|
|
|
748
756
|
elif (
|
|
749
757
|
has2
|
|
@@ -919,7 +919,12 @@ class Pandas(Library):
|
|
|
919
919
|
)
|
|
920
920
|
|
|
921
921
|
else:
|
|
922
|
-
|
|
922
|
+
# arrays.index.values before Pandas 0.24 and again now;
|
|
923
|
+
# arrays.index.arrays from Pandas 0.24 through some time ago.
|
|
924
|
+
if hasattr(arrays.index, "values"):
|
|
925
|
+
index = arrays.index.values
|
|
926
|
+
else:
|
|
927
|
+
index = arrays.index.arrays
|
|
923
928
|
numpy.add(index, global_offset, out=index)
|
|
924
929
|
|
|
925
930
|
return arrays
|
|
@@ -516,6 +516,10 @@ class PythonLanguage(uproot.language.Language):
|
|
|
516
516
|
else:
|
|
517
517
|
output[name] = output[name][cut]
|
|
518
518
|
|
|
519
|
+
# clear dicts to get rid of big arrays.
|
|
520
|
+
# note: without this these arrays are not properly released from memory!
|
|
521
|
+
values.clear()
|
|
522
|
+
scope.clear()
|
|
519
523
|
return output
|
|
520
524
|
|
|
521
525
|
|