pybis 1.37.4__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.
Files changed (56) hide show
  1. pybis-1.37.4/CHANGELOG.md +624 -0
  2. pybis-1.37.4/LICENSE +201 -0
  3. pybis-1.37.4/MANIFEST.in +6 -0
  4. pybis-1.37.4/PKG-INFO +2142 -0
  5. pybis-1.37.4/README.md +2127 -0
  6. pybis-1.37.4/README.rst +565 -0
  7. pybis-1.37.4/pybis/__init__.py +22 -0
  8. pybis-1.37.4/pybis/attachment.py +44 -0
  9. pybis-1.37.4/pybis/attribute.py +1135 -0
  10. pybis-1.37.4/pybis/data_set.py +357 -0
  11. pybis-1.37.4/pybis/dataset.py +1649 -0
  12. pybis-1.37.4/pybis/definitions.py +552 -0
  13. pybis-1.37.4/pybis/entity_type.py +521 -0
  14. pybis-1.37.4/pybis/experiment.py +189 -0
  15. pybis-1.37.4/pybis/fast_download.py +478 -0
  16. pybis-1.37.4/pybis/group.py +168 -0
  17. pybis-1.37.4/pybis/material.py +85 -0
  18. pybis-1.37.4/pybis/openbis_object.py +471 -0
  19. pybis-1.37.4/pybis/person.py +184 -0
  20. pybis-1.37.4/pybis/project.py +70 -0
  21. pybis-1.37.4/pybis/property.py +242 -0
  22. pybis-1.37.4/pybis/property_reformatter.py +120 -0
  23. pybis-1.37.4/pybis/pybis.py +5602 -0
  24. pybis-1.37.4/pybis/role_assignment.py +51 -0
  25. pybis-1.37.4/pybis/sample.py +284 -0
  26. pybis-1.37.4/pybis/semantic_annotation.py +199 -0
  27. pybis-1.37.4/pybis/space.py +118 -0
  28. pybis-1.37.4/pybis/spreadsheet.py +349 -0
  29. pybis-1.37.4/pybis/tag.py +43 -0
  30. pybis-1.37.4/pybis/things.py +255 -0
  31. pybis-1.37.4/pybis/utils.py +368 -0
  32. pybis-1.37.4/pybis/vocabulary.py +273 -0
  33. pybis-1.37.4/pybis.egg-info/PKG-INFO +2142 -0
  34. pybis-1.37.4/pybis.egg-info/SOURCES.txt +54 -0
  35. pybis-1.37.4/pybis.egg-info/dependency_links.txt +1 -0
  36. pybis-1.37.4/pybis.egg-info/requires.txt +7 -0
  37. pybis-1.37.4/pybis.egg-info/top_level.txt +1 -0
  38. pybis-1.37.4/pyproject.toml +4 -0
  39. pybis-1.37.4/setup.cfg +4 -0
  40. pybis-1.37.4/setup.py +53 -0
  41. pybis-1.37.4/tests/test_dataset.py +417 -0
  42. pybis-1.37.4/tests/test_experiment.py +151 -0
  43. pybis-1.37.4/tests/test_fastdownload.py +410 -0
  44. pybis-1.37.4/tests/test_group.py +78 -0
  45. pybis-1.37.4/tests/test_imports.py +16 -0
  46. pybis-1.37.4/tests/test_material.py +19 -0
  47. pybis-1.37.4/tests/test_openbis.py +119 -0
  48. pybis-1.37.4/tests/test_person.py +44 -0
  49. pybis-1.37.4/tests/test_plugin.py +143 -0
  50. pybis-1.37.4/tests/test_project.py +81 -0
  51. pybis-1.37.4/tests/test_property.py +196 -0
  52. pybis-1.37.4/tests/test_sample.py +646 -0
  53. pybis-1.37.4/tests/test_space.py +35 -0
  54. pybis-1.37.4/tests/test_spreadsheet.py +522 -0
  55. pybis-1.37.4/tests/test_tag.py +72 -0
  56. pybis-1.37.4/tests/test_vocabulary.py +208 -0
@@ -0,0 +1,624 @@
1
+ ## Changes with pybis-1.37.4
2
+
3
+ - Improvements to Spreadsheet API
4
+ - Handling UnicodeDecodeError in spreadsheet property
5
+ - Added revert_deletions method
6
+ - Introduced method for getting eln url for entities
7
+ - Improvements to ServerInformation functionalities
8
+ - Extended supported timestamp formats to include timezones
9
+ - Improvements to property type display information
10
+
11
+ ## Changes with pybis-1.37.3
12
+
13
+ - Fixes to get_children/get_parents methods
14
+
15
+ ## Changes with pybis-1.37.2
16
+
17
+ - Fixes to Fast Upload
18
+
19
+ ## Changes with pybis-1.37.1
20
+
21
+ - Implemented Fast download V2
22
+ - Fixed dataset with parents creation
23
+ - Fixed type checking for python <3.10
24
+ - Added basic ELN Spreadsheet support
25
+ - Added support for new OBJECT property creation with OBJECT type limitation
26
+ - Refactored AttributeHolder class to include fetchOptions
27
+ - Refactored get_children and get_parents methods to pull data in case of missing fetchOptions
28
+
29
+ ## Changes with pybis-1.37.0
30
+
31
+ - Changes to new_sample method to use v3api in all cases
32
+ - Refactored new_experiment documentation
33
+ - Fixed delete vocabulary term method
34
+ - Fixed v1 dataset upload
35
+ - Fixed PropertyAssignment data frame creation
36
+ - Improved property data type validation
37
+ - Improved get_project method
38
+ - Added missing description parameter to new sample type method
39
+ - Added missing DATE property type
40
+ - Improvement to user.get_roles() method to present proper project identification
41
+ - Improvements to property assignment display
42
+ - Fixed clearing of vocabulary properties
43
+ - Improved setup script
44
+ - Fixed transaction commit function
45
+ - Fixed mount() method to work with PAT
46
+ - Fixed plugin updates
47
+ - Fixed new term creation
48
+
49
+ ## Changes with pybis-1.36.3
50
+
51
+ - Refactored metaData and multiValue properties to be backwards-compatible.
52
+ - Refactored get_children/get_parents methods
53
+ - Refactored property formatting functionality
54
+
55
+
56
+ ## Changes with pybis-1.36.2
57
+
58
+ - Refactoring of the set_token method.
59
+ - Improvement to exception handling for dataset upload
60
+ - Improvement to PAT functionality
61
+
62
+ ## Changes with pybis-1.36.1
63
+
64
+ - Amended get_*_types() method to be backwards-compatible
65
+ - Amended dataset upload functionality to support big files
66
+ - Added multivalued properties support for objects, collections and datasets
67
+
68
+ ## Changes with pybis-1.36.0
69
+
70
+ - Reverted breaking changes to dataset upload functionality
71
+ - Performance improvements to get_sample and get_samples methods
72
+
73
+ ## Changes with pybis-1.35.11
74
+
75
+ - Improvements to dataset upload performance
76
+
77
+ ## Changes with pybis-1.35.10
78
+
79
+ - Fixed issue with changing properties for linked datasets
80
+
81
+ ## Changes with pybis-1.35.9
82
+
83
+ - Changed get_samples method to also include dataset ids depending on the params
84
+
85
+ ## Changes with pybis-1.35.8
86
+
87
+ - Fixed a typo in the set attribute method
88
+
89
+ ## Changes with pybis-1.35.7
90
+
91
+ - Improvements to fast download scheme
92
+
93
+ ## Changes with pybis-1.35.6
94
+
95
+ - Added metaData attribute handling for sample, sampleType, experiment, experimentType, dataset, datasetType
96
+ - Fixed property assignment to a newly created sample type.
97
+ - Updated docs.
98
+ - Fixed sample.del_children() method.
99
+ - Fixed metaData attribute assignment case.
100
+
101
+ ## Changes with pybis-1.35.5
102
+
103
+ - Implementation of array-type properties handling
104
+ - Fixed assignment of dynamic property plugins to property types
105
+
106
+
107
+ ## Changes with pybis-1.35.4
108
+
109
+ - Changes to internal implementation of data set download/upload to use OpenBIS V3 API
110
+ - Added TIMESTAMP property reformatting to fit formats supported by OpenBIS
111
+
112
+ ## Changes with pybis-1.35.3
113
+
114
+ - Modified set_token() method to accept PersonalAccessToken object
115
+ - Minor code refactoring
116
+
117
+ ## Changes with pybis-1.35.2
118
+
119
+ - Added rising an error when re-login fails
120
+
121
+ ## Changes with pybis-1.35.1
122
+
123
+ - fix overriding parents/children when performing update using results from get_samples call
124
+
125
+ ## Changes with pybis-1.35.0
126
+
127
+ - removal of deprecated 'cli'
128
+ - removal of 'click' dependency
129
+ - update of contact information
130
+
131
+ ## Changes with pybis-1.34.6
132
+
133
+ - new option 'permanently' in the delete method in openbis_object.py
134
+
135
+ ## Changes with pybis-1.34.2
136
+
137
+ - fix syslog error
138
+
139
+ ## Changes with pybis-1.34.1
140
+
141
+ - better handling of configuration
142
+
143
+ ## Changes with pybis-1.34.0
144
+
145
+ - better error handling when connecting to openBIS server
146
+ - add experimental support for datasets via cli
147
+
148
+ ## Changes with pybis-1.33.2
149
+
150
+ - fix openbis.support.email key error
151
+ - raise error if invalid token is passed to constructor
152
+ - show more attributes for spaces and projects
153
+
154
+ ## Changes with pybis-1.33.0
155
+
156
+ - add support for personal access tokens (PAT)
157
+ - fix default dataset kind (was PHYSICAL_DATA instead of PHYSICAL)
158
+ - refactor existing pyBIS code
159
+
160
+ ## Changes with pybis-1.32.1
161
+
162
+ - fixing the issue with incorrectly named reference to DataSetKind.PHYSICAL
163
+
164
+ ## Changes with pybis-1.32.0
165
+
166
+ - throw error when invalid token is assigned
167
+ - to not show an error message if stored token is invalid (just do not use it)
168
+ - fixed a bug which led to missing parents and children
169
+
170
+ ## Changes with pybis-1.31.6
171
+
172
+ - automatically setting the project if only experiment was set
173
+
174
+ ## Changes with pybis-1.31.5
175
+
176
+ - optimised error generation without assert
177
+
178
+ ## Changes with pybis-1.31.4
179
+
180
+ - fix another exception when saving a sample with custom code
181
+
182
+ ## Changes with pybis-1.31.3
183
+
184
+ - fix exception in sample.save
185
+
186
+ ## Changes with pybis-1.31.1
187
+
188
+ - fixed a file download problem when filename contained special characters (e.g. #)
189
+
190
+ ## Changes with pybis-1.31.0
191
+
192
+ - new entity-type methods: get_next_code() and get_next_sequence()
193
+ - allow to set code manually for samples of sampleType with autoGeneratedCode=True
194
+
195
+ ## Changes with pybis-1.30.4
196
+
197
+ - fixed and optimised (deprecated) download_attachments()
198
+
199
+ ## Changes with pybis-1.30.3
200
+
201
+ - Another code fix for create_data_frame() in pybis.py to make group ID and user ID separate
202
+
203
+ ## Changes with pybis-1.30.2
204
+
205
+ - Possible issue fixes with data frame in create_data_frame() in entity_type.py
206
+ - Code fix for create_data_frame() in pybis.py to make group ID and user ID separate
207
+
208
+ ## Changes with pybis-1.30.1
209
+
210
+ - fixed KeyError when creating an empty data frame
211
+
212
+ ## Changes with pybis-1.30.0
213
+
214
+ - session management reworked
215
+
216
+ ## Changes with pybis-1.20.5
217
+
218
+ - fixed same problems as 1.20.5
219
+ - wrong version published
220
+
221
+ ## Changes with pybis-1.20.4
222
+
223
+ - fixed parents/children problem when get_samples(), get_datasets()
224
+ - sorted imports
225
+
226
+ ## Changes with pybis-1.20.3
227
+
228
+ - deactivated debugging logs
229
+ - creation of property type accets vocabulary object
230
+
231
+ ## Changes with pybis-1.20.2
232
+
233
+ - fixed omitted function parameter which could cause issues
234
+
235
+ ## Changes with pybis-1.20.1
236
+
237
+ - improved search performance
238
+ - introduced lazy loading for Things.df and Things.objects, so all necessary, and potentially
239
+ costly, computation takes place only when the user requests those properties
240
+
241
+ ## Changes with pybis-1.20.0
242
+
243
+ - metadata for property_types can now be changed to:
244
+ - {'custom_widget' : 'Word Processor'}
245
+ - {'custom_widget' : 'Spreadsheet'}
246
+ - added documentation how to change the ELN settings
247
+ - removed deprecated update_sample()
248
+ - removed deprecated update_experiment()
249
+
250
+ ## Changes with pybis-1.19.1
251
+
252
+ - add set_token() method to set a token and also store it locally
253
+
254
+ ## Changes with pybis-1.19.0
255
+
256
+ - added caching for get_experiment
257
+ - included OR when providing codes/permIds for samples and datasets
258
+ - improved documentation
259
+ - fixed property assigning problem with newly created entity types
260
+
261
+ ## Changes with pybis-1.18.12
262
+
263
+ - fixed rel_file_links, prepended /
264
+
265
+ ## Changes with pybis-1.18.11
266
+
267
+ - added rel_file_links to datasets for embedding in ELN-LIMS
268
+
269
+ ## Changes with pybis-1.18.10
270
+
271
+ - added deprecation warnings for components/containers and attachments
272
+ - added download_path and file_links to datasets
273
+
274
+ ## Changes with pybis-1.18.9
275
+
276
+ - fixed problem when searching for experiments
277
+
278
+ ## Changes with pybis-1.18.8
279
+
280
+ - fixed problem with 20.10 releases where samples could not be found using the permId
281
+
282
+ ## Changes with pybis-1.18.7
283
+
284
+ - fixed entity_type caching problem
285
+
286
+ ## Changes with pybis-1.18.6
287
+
288
+ - fixed create samples bug
289
+ - fixed zip upload bug
290
+
291
+ ## Changes with pybis-1.18.5
292
+
293
+ - fixed deref bug for container
294
+ - added set and get methods for properties
295
+
296
+ ## Changes with pybis-1.18.4
297
+
298
+ - fixed bug in returning identifiers (thanks, Fabian!)
299
+
300
+ ## Changes with pybis-1.18.3
301
+
302
+ - prevent other users to read the saved token (chmod 600)
303
+ - fixed various pylint issues
304
+ - fixed «session no longer valid» message
305
+ - fixed search issues
306
+
307
+ ## Changes with pybis-1.18.2
308
+
309
+ - added deletion to transaction
310
+
311
+ ## Changes with pybis-1.18.1
312
+
313
+ - fixed del_parents() bug accidentally introduced in 1.18.0
314
+
315
+ ## Changes with pybis-1.18.0
316
+
317
+ - speed improvement when searching for samples and dataSets and then cycling through the results
318
+ - implemented search for number comparison, date comparison, string comparison (<, >, <=, >=)
319
+ - implemented search for parents identities and properties
320
+ - fixed minor bugs when connecting
321
+
322
+ ## Changes with pybis-1.17.4
323
+
324
+ - fixed another vocabularies update bug
325
+ - extended tests
326
+ - extended documentation
327
+
328
+ ## Changes with pybis-1.17.3
329
+
330
+ - fixed vocabularies bug
331
+ - fixed updating vocabularies
332
+
333
+ ## Changes with pybis-1.17.1
334
+
335
+ - fixed datastore bug
336
+
337
+ ## Changes with pybis-1.17.0
338
+
339
+ - added caching for often used but rarely updated openBIS objects.
340
+ - if you need to create a lot of Samples, this will improve your speed a lot
341
+ - by default, caching is enabled
342
+
343
+ ## Changes with pybis-1.16.2
344
+
345
+ - transaction.commit() now updates all added samples with their respective permIds
346
+
347
+ ## Changes with pybis-1.16.1
348
+
349
+ - new_dataset bugfix
350
+
351
+ ## Changes with pybis-1.16.0
352
+
353
+ - added support for batch creation of samples
354
+ - changed Python minimum requirement to Python 3.6
355
+ - new vocabulary and new property_type: internalNameSpace was removed
356
+ - this will cause possible incompatibilities with older versions of openBIS (< 20.10.x)
357
+
358
+ ## Changes with pybis-1.15.1
359
+
360
+ - added support for date-searching
361
+ - bugfix in property-searching
362
+
363
+ ## Changes with pybis-1.14.10
364
+
365
+ - bugfix when deleting dataSets
366
+ - some improvements with the documentation
367
+
368
+ ## Changes with pybis-1.14.9
369
+
370
+ - quick fix of parse_jackson error in special circumstances
371
+
372
+ ## Changes with pybis-1.14.7
373
+
374
+ - bugfix: no longer any error in get_samples(), get_datasets() and get_experiments() when
375
+ properties are provided but no data was found
376
+
377
+ ## Changes with pybis-1.14.6
378
+
379
+ - bugfix duplicate property-columns in get_samples() and get_datasets()
380
+
381
+ ## Changes with pybis-1.14.5
382
+
383
+ - no automagic detection of mountpoint, because of Windows incompatibilities
384
+
385
+ ## Changes with pybis-1.14.4
386
+
387
+ - added new convenience methods: get_experiments, get_projects etc.
388
+
389
+ ## Changes with pybis-1.14.3
390
+
391
+ - small bugfix: prevent error
392
+
393
+ ## Changes with pybis-1.14.2
394
+
395
+ - properties can be provided with either upper or lowercase
396
+ - bugfix of duplicate property columns
397
+
398
+ ## Changes with pybis-1.14.1
399
+
400
+ - small bugfix
401
+
402
+ ## Changes with pybis-1.14.0
403
+
404
+ - use props="\*" to get all properties of all samples or datasets
405
+
406
+ ## Changes with pybis-1.13.0
407
+
408
+ - added symlink() method for datasets to automatically create symlinks
409
+ - added `is_symlink()` and `is_physical()` methods for dataSets
410
+ - new `o.download_prefix` attribute for `download()` and `symlink()`
411
+ - `download_prefix` defaults to `data/openbis-hostname`
412
+
413
+ ## Changes with pybis-1.12.4
414
+
415
+ - fixed a bug which occured on some opeBIS instances when retrieving samples
416
+
417
+ ## Changes with pybis-1.12.3
418
+
419
+ - datasets, samples and experiments now successfully return project and space attributes
420
+
421
+ ## Changes with pybis-1.12.0
422
+
423
+ - added possibility to get any additional attributes in the get_samples() method
424
+ - added possibility to get any additional attributes in the get_dataSets() method
425
+
426
+ ## Changes with pybis-1.11.1
427
+
428
+ - added automatically accepting host key, otherwise mount() will hang the first time
429
+
430
+ ## Changes with pybis-1.11.0
431
+
432
+ - implemented mount() and unmount() methods to mount openBIS dataStore server via SSHFS and FUSE
433
+ - implemented is_mounted() and get_mountpoint() methods
434
+ - added instructions how to install FUSE/SSHFS on Unix systems
435
+
436
+ ## Changes with pybis-1.10.8
437
+
438
+ - dataSets of kind CONTAINER now also allow download of files
439
+
440
+ ## Changes with pybis-1.10.7
441
+
442
+ - made download work, even downloadUrl attribute is missing in dataSets
443
+
444
+ ## Changes with pybis-1.10.6
445
+
446
+ - added possibility to download files without /original/DEFAULT folders
447
+
448
+ ## Changes with pybis-1.10.5
449
+
450
+ - bugfix: creating projects
451
+
452
+ ## Changes with pybis-1.10.4
453
+
454
+ - better error messages when downloading files from datastore server
455
+
456
+ ## Changes with pybis-1.10.3
457
+
458
+ - print warning message when downloaded file-size does not match with promised file-size. Do not
459
+ die.
460
+
461
+ ## Changes with pybis-1.10.2
462
+
463
+ - typo bugfix
464
+
465
+ ## Changes with pybis-1.10.1
466
+
467
+ - fixed a nasty threading bug: open threads are now closed when downloading or uploading datasets
468
+ - this bugfix avoids this RuntimeError: cannot start new thread
469
+
470
+ ## Changes with pybis-1.10.0
471
+
472
+ - dataSet upload now supports zipfiles
473
+ - dataSet upload now supports files and folders
474
+ - different behaviour when providing a folder: files are no longer flattened out, structure is kept
475
+ intact
476
+
477
+ ## Changes with pybis-1.9.8
478
+
479
+ - new: create and update Dateset Types
480
+ - new: create and update Experiment Types
481
+ - new: create and update Material Types
482
+ - many bugfixes
483
+ - extended documentation about creating these entity types
484
+
485
+ ## Changes with pybis-1.9.7
486
+
487
+ - bugfix for creating propertyTypes of type controlled vocabulary and material
488
+
489
+ ## Changes with pybis-1.9.6
490
+
491
+ - bugfix when vocabulary attribute was not identical to the code of the aassigned property type
492
+
493
+ ## Changes with pybis-1.9.5
494
+
495
+ - bugfixes: get_property_assignments() method fixed for dataSet-, experiment- and materialTypes
496
+
497
+ ## Changes with pybis-1.9.4
498
+
499
+ - bugfix when searching for experiments or datasets of a given type
500
+
501
+ ## Changes with pybis-1.9.3
502
+
503
+ - fixed documentation: add_members (not add_persons)
504
+ - bugfix role assignments of groups
505
+
506
+ ## Changes with pybis-1.9.2
507
+
508
+ - searches for datasets and samples are highly improved
509
+ - search parameters can accept a code, an identifier or an openbis entity
510
+ - searching for all datasets in a project now works
511
+ - bugfixes
512
+
513
+ ## Changes with pybis-1.9.1
514
+
515
+ - bugfix: controlled vocabulary
516
+
517
+ ## Changes with pybis-1.9.0
518
+
519
+ - new: search, create, update and delete Property Types
520
+ - new: search, create, update and delete Plugins
521
+ - new: create and update Sample Types
522
+ - freeze entities to prevent changes
523
+ - added more tests
524
+
525
+ ## Changes with pybis-1.8.5
526
+
527
+ - changed to v3 API when fetching datastores
528
+ - gen_permId to generate unique permIds used for dataSets
529
+ - support ELN-LIMS style identifiers: /SPACE/PROJECT/COLLECTION/OBJECT_CODE
530
+ - terms now can be moved either to the top or after another term
531
+
532
+ ## Changes with pybis-1.8.4
533
+
534
+ - totalCount attribute added in every Things object
535
+ - totalCount will return the total number of elements matching a search
536
+ - bugfix in get_semantic_annotation method
537
+
538
+ ## Changes with pybis-1.8.3
539
+
540
+ - new method for attributes: .attrs.all() will return a dict, much like .props.all()
541
+ - attributes like registrator and modifier are now returned by default
542
+
543
+ ## Changes with pybis-1.8.2
544
+
545
+ - added key-lookup and setting for properties that contain either dots or dashes
546
+ - sample.props['some-weird.property-name'] = "some value"
547
+ - check for mandatory properties in samples (objects), datasets and experiments (collections)
548
+
549
+ ## Changes with pybis-1.8.1
550
+
551
+ - revised documentation
552
+ - improved DataSet creation
553
+ - added missing delete function for DataSets
554
+ - wrong entity attributes will now immediately throw an error
555
+ - more DataSet creation tests
556
+ - paging tests added
557
+ - `collection` is now alias for `experiment`
558
+ - `object` is alias for `sample`
559
+
560
+ ## Changes with pybis-1.8.0
561
+
562
+ - better support for fetching entity-types (dataSetTypes, sampleTypes)
563
+ - separation of propertyAssignments from entity-types
564
+ - added .get_propertyAssignments() method to all entity-types
565
+
566
+ ## Changes with pybis-1.7.6
567
+
568
+ - bugfix dataset upload for relative files (e.g. ../../file or /User/username/file)
569
+ - always only the filename is added to the dataset, not the folder containing it
570
+ - corrected License file
571
+
572
+ ## Changes with pybis-1.7.5
573
+
574
+ - added paging support for all search functions by providing start_with and count arguments
575
+ - make search more robust: allow get_sample('SPACE/CODE') instead of get_sample('/SPACE/CODE')
576
+ - make search more robust: allow get_sample(' 20160706001644827-208 ')
577
+ - make interface more robust (allow sample.permid instead of sample.permId)
578
+ - make properties more robust: allow get_samples(props='name') instead of get_samples(
579
+ props=['name'])
580
+ - fixed bug when parent/children of more than one element was searched: o.get_experiments()
581
+ .get_samples().get_parents()
582
+
583
+ ## Changes with pybis-1.7.4
584
+
585
+ - pyBIS now allows to create dataset-containers that contain no data themselves
586
+ - datasets now show a «kind» attribute, which can be either PHYSICAL, LINK or CONTAINER
587
+ - PropertyAssignments and other internal data are now finally nicely presented in Jupyter
588
+ - various bugfixes
589
+ - README.md is now correctly displayed
590
+ - setup.py is fixed, installation should no longer fail because of some utf-8 problems on certain
591
+ machines
592
+
593
+ ## Changes with pybis-1.7.3
594
+
595
+ - improved packaging information
596
+ - LICENSE included (Apache License v.2)
597
+
598
+ ## Changes with pybis-1.7.2
599
+
600
+ - added server_information to openBIS connection
601
+ - bugfix: project samples are only fetched when instance supports them
602
+
603
+ ## Changes with pybis-1.7.1
604
+
605
+ - fixed bug in controlled vocabulary when property name did not match the vocabulary name
606
+ - added `xxx_contained()` methods to Samples and DataSets
607
+ - updated documentation
608
+
609
+ ## Changes with pybis-1.7.0
610
+
611
+ - added components and containers functionality to both datasets and samples
612
+ - `set_attributes()` no longer automatically saves the object
613
+ - tags now have to be created (and saved) before they can be assigned
614
+ - `get_tag()` now can search for more than one tag at once and supports both code and permId
615
+ - `get_tags()` now available for almost all objects, returns a dataframe
616
+ - improved and enhanced documentation
617
+
618
+ ## Changes with pybis-1.6.8
619
+
620
+ - fixed bugs with parents and children of both samples and datasets
621
+ - new samples can be defined with parents / children
622
+ - `get_parents()` and `get_children()` methods now also work on new, not yet saved objects
623
+ - `get_sample()` and `get_dataset()` now also accept arrays of permIds / identifiers
624
+ - pybis now has a CHANGELOG!