Skip to content

Commit d10170b

Browse files
authored
Merge pull request #35 from elmbeech/master
release v4.0.4
2 parents 0694b6f + 329d0ed commit d10170b

File tree

7 files changed

+1118
-1477
lines changed

7 files changed

+1118
-1477
lines changed

.github/workflows/apple.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,9 @@ run-name: ${{ github.actor }}::pytest pcdl library on mac os x; the latest pytho
77

88
on:
99
push:
10-
branches: ["utest"] # ["master", "v3", "v4"]
10+
branches: ["utest", "master"] # ["v3", "v4"]
11+
pull:
12+
branches: ["master"]
1113

1214
jobs:
1315
build-macosx:

.github/workflows/linux.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,9 @@ run-name: ${{ github.actor }}::pytest pcdl library on linux os; all python3 vers
77

88
on:
99
push:
10-
branches: ["utest"] # ["master", "v3", "v4"]
10+
branches: ["utest","master"] # ["v3", "v4"]
11+
pull:
12+
branches: ["master"]
1113

1214
jobs:
1315
build-linux:

.github/workflows/windows.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,9 @@ run-name: ${{ github.actor }}::pytest pcdl library on windows os; the latest pyt
77

88
on:
99
push:
10-
branches: ["utest"] # ["master", "v3", "v4"]
10+
branches: ["utest", "master"] # ["v3", "v4"]
11+
pull:
12+
branches: ["master"]
1113

1214
jobs:
1315
build-windows:

README.md

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ Within the pcdl library, we tried to stick to the documentation policy laid out
9191

9292
+ original PhysiCell-Tools python-loader implementation: Patrick Wall, Randy Heiland, Paul Macklin
9393
+ fork pcdl implementation: Elmar Bucher
94-
+ fork pcdl co-programmer: Furkan Kurtoglu, Jennifer Eng, Heber Rocha
94+
+ fork pcdl co-programmer: Furkan Kurtoglu, Heber Rocha, Jennifer Eng
9595
+ fork pcdl continuous testing and feedbacks: Aneequa Sundus, John Metzcar
9696
+ student prj on pcdl:
9797
Benjamin Jacobs (make\_graph\_gml),
@@ -125,6 +125,9 @@ Developers, please make pull requests to the https://github.com/elmbeech/physice
125125
+ evt generate lineage tree graph output files.
126126

127127
## Release Notes:
128+
+ version 4.0.4 (2025-07-23): elmbeech/physicelldataloader
129+
+ command line commands now return **error code 0** if the command runs successfully.
130+
128131
+ version 4.0.3 (2025-07-20): elmbeech/physicelldataloader
129132
+ timestep and timeseries **plot_contour**, **plot_scatter**, and **plot_timeseries** handle now **kwargs** arguments.
130133
+ minor bugfixes.
@@ -152,6 +155,9 @@ Developers, please make pull requests to the https://github.com/elmbeech/physice
152155
+ new **render_neuroglancer** function, to render ome tiff image into neuroglancer.
153156
+ new **pcdl_render_neuroglancer** function, to render ome tiff images into neuroglancer.
154157

158+
+ version 3.3.8 (2025-07-23): elmbeech/physicelldataloader
159+
+ command line commands now return **error code 0** if the command runs successfully.
160+
155161
+ version 3.3.7 (2025-06-01): elmbeech/physicelldataloader
156162
+ compatible with current (non end-of-life cycle) python versions.
157163
+ minor bugfixes.

pcdl/VERSION.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
__version__ = '4.0.3'
1+
__version__ = '4.0.4'

pcdl/commandline.py

Lines changed: 66 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,8 @@ def get_version():
9898
)
9999
s_version = f'version:\n{mcds.get_physicell_version()}\n{mcds.get_multicellds_version()}\npcdl_{pcdl.__version__}'
100100
# going home
101-
return s_version
101+
print(s_version)
102+
return 0
102103

103104

104105
def get_unit_dict():
@@ -175,7 +176,8 @@ def get_unit_dict():
175176
se_unit.sort_index(inplace=True)
176177
se_unit.to_csv(s_opathfile)
177178
# going home
178-
return s_opathfile
179+
print(s_opathfile)
180+
return 0
179181

180182

181183
###########################################
@@ -240,7 +242,8 @@ def get_substrate_list():
240242
verbose = True if args.verbose.lower().startswith('t') else False
241243
)
242244
# going home
243-
return mcds.get_substrate_list()
245+
print(mcds.get_substrate_list())
246+
return 0
244247

245248

246249
def get_conc_attribute():
@@ -342,7 +345,8 @@ def get_conc_attribute():
342345
s_opathfile = s_path + '/' + s_ofile
343346
json.dump(dl_variable, open(s_opathfile, 'w'), sort_keys=True)
344347
# going home
345-
return s_opathfile
348+
print(s_opathfile)
349+
return 0
346350

347351

348352
def get_conc_df():
@@ -439,7 +443,7 @@ def get_conc_df():
439443
# going home
440444
s_opathfile = s_pathfile.replace('.xml','_conc.csv')
441445
df_conc.to_csv(s_opathfile)
442-
return s_opathfile
446+
print(s_opathfile)
443447

444448
else:
445449
mcdsts = pcdl.TimeSeries(
@@ -464,12 +468,15 @@ def get_conc_df():
464468
if b_collapse:
465469
s_opathfile = f'{s_path}/timeseries_conc.csv'
466470
ldf_conc.to_csv(s_opathfile)
467-
return s_opathfile
471+
print(s_opathfile)
468472
else:
469473
ls_opathfile = [f"{s_path}/{s_xmlfile.replace('.xml','_conc.csv')}" for s_xmlfile in mcdsts.get_xmlfile_list()]
470474
for i, df_conc in enumerate(ldf_conc):
471475
df_conc.to_csv(ls_opathfile[i])
472-
return ls_opathfile
476+
print(ls_opathfile)
477+
478+
# going home
479+
return 0
473480

474481

475482
def plot_contour():
@@ -655,7 +662,7 @@ def plot_contour():
655662
figbgcolor = None if (args.figbgcolor.lower() == 'none') else args.figbgcolor,
656663
)
657664
# going home
658-
return s_opathfile
665+
print(s_opathfile)
659666

660667
else:
661668
mcdsts = pcdl.TimeSeries(
@@ -687,7 +694,10 @@ def plot_contour():
687694
)
688695
# going home
689696
s_opath = '/'.join(ls_opathfile[0].split('/')[:-1])
690-
return s_opath
697+
print(s_opath)
698+
699+
# going home
700+
return 0
691701

692702

693703
def make_conc_vtk():
@@ -750,7 +760,7 @@ def make_conc_vtk():
750760
)
751761
s_opathfile = mcds.make_conc_vtk()
752762
# going home
753-
return s_opathfile
763+
print(s_opathfile)
754764

755765
else:
756766
mcdsts = pcdl.TimeSeries(
@@ -765,8 +775,10 @@ def make_conc_vtk():
765775
)
766776
ls_opathfile = mcdsts.make_conc_vtk()
767777
# going home
768-
return ls_opathfile
778+
print(ls_opathfile)
769779

780+
# going home
781+
return 0
770782

771783
############################################
772784
# cell agent relatd command line functions #
@@ -835,7 +847,8 @@ def get_celltype_list():
835847
verbose = True if args.verbose.lower().startswith('t') else False
836848
)
837849
# going home
838-
return mcds.get_celltype_list()
850+
print(mcds.get_celltype_list())
851+
return 0
839852

840853

841854
def get_cell_attribute_list():
@@ -912,7 +925,7 @@ def get_cell_attribute_list():
912925
)
913926

914927
# going home
915-
return mcds.get_cell_attribute_list()
928+
print(mcds.get_cell_attribute_list())
916929

917930

918931
def get_cell_attribute():
@@ -1068,7 +1081,8 @@ def get_cell_attribute():
10681081
allvalues = b_allvalues,
10691082
)
10701083
json.dump(dl_variable, open(s_opathfile, 'w'), sort_keys=True)
1071-
return s_opathfile
1084+
print(s_opathfile)
1085+
return 0
10721086

10731087

10741088
def get_cell_df():
@@ -1180,7 +1194,7 @@ def get_cell_df():
11801194
# going home
11811195
s_opathfile = s_pathfile.replace('.xml','_cell.csv')
11821196
df_cell.to_csv(s_opathfile)
1183-
return s_opathfile
1197+
print(s_opathfile)
11841198

11851199
else:
11861200
mcdsts = pcdl.TimeSeries(
@@ -1205,12 +1219,15 @@ def get_cell_df():
12051219
if b_collapse:
12061220
s_opathfile = f'{s_path}/timeseries_cell.csv'
12071221
ldf_cell.to_csv(s_opathfile)
1208-
return s_opathfile
1222+
print(s_opathfile)
12091223
else:
12101224
ls_opathfile = [f"{s_path}/{s_xmlfile.replace('.xml','_cell.csv')}" for s_xmlfile in mcdsts.get_xmlfile_list()]
12111225
for i, df_cell in enumerate(ldf_cell):
12121226
df_cell.to_csv(ls_opathfile[i])
1213-
return ls_opathfile
1227+
print(ls_opathfile)
1228+
1229+
# going home
1230+
return 0
12141231

12151232

12161233
def get_anndata():
@@ -1352,7 +1369,7 @@ def get_anndata():
13521369
# going home
13531370
s_opathfile = s_pathfile.replace('.xml', f'_cell_{args.scale}.h5ad')
13541371
ann_mcds.write_h5ad(s_opathfile)
1355-
return s_opathfile
1372+
print(s_opathfile)
13561373

13571374
else:
13581375
mcdsts = pcdl.TimeSeries(
@@ -1378,12 +1395,15 @@ def get_anndata():
13781395
if b_collapse :
13791396
s_opathfile = f'{s_path}/timeseries_cell_{args.scale}.h5ad'
13801397
ann_mcdsts.write_h5ad(s_opathfile)
1381-
return s_opathfile
1398+
print(s_opathfile)
13821399
else:
13831400
ls_opathfile = [f"{s_path}/{s_xmlfile.replace('.xml', '_cell_{}.h5ad'.format(args.scale))}" for s_xmlfile in mcdsts.get_xmlfile_list()]
13841401
for i, ann_mcds in enumerate(ann_mcdsts):
13851402
ann_mcds.write_h5ad(ls_opathfile[i])
1386-
return ls_opathfile
1403+
print(ls_opathfile)
1404+
1405+
# going home
1406+
return 0
13871407

13881408

13891409
def make_graph_gml():
@@ -1502,7 +1522,7 @@ def make_graph_gml():
15021522
node_attribute = args.node_attribute,
15031523
)
15041524
# going home
1505-
return s_opathfile
1525+
print(s_opathfile)
15061526

15071527
else:
15081528
mcdsts = pcdl.TimeSeries(
@@ -1521,7 +1541,10 @@ def make_graph_gml():
15211541
node_attribute = args.node_attribute,
15221542
)
15231543
# going home
1524-
return ls_opathfile
1544+
print(ls_opathfile)
1545+
1546+
# going home
1547+
return 0
15251548

15261549

15271550
def plot_scatter():
@@ -1734,7 +1757,7 @@ def plot_scatter():
17341757
figbgcolor = None if (args.figbgcolor.lower() == 'none') else args.figbgcolor,
17351758
)
17361759
# going home
1737-
return s_opathfile
1760+
print(s_opathfile)
17381761

17391762
else:
17401763
mcdsts = pcdl.TimeSeries(
@@ -1767,7 +1790,10 @@ def plot_scatter():
17671790
)
17681791
# going home
17691792
s_opath = '/'.join(ls_opathfile[0].split('/')[:-1])
1770-
return s_opath
1793+
print(s_opath)
1794+
1795+
# going home
1796+
return 0
17711797

17721798

17731799
def make_cell_vtk():
@@ -1872,7 +1898,7 @@ def make_cell_vtk():
18721898
attribute = args.attribute,
18731899
)
18741900
# going home
1875-
return s_opathfile
1901+
print(s_opathfile)
18761902

18771903
else:
18781904
mcdsts = pcdl.TimeSeries(
@@ -1889,7 +1915,10 @@ def make_cell_vtk():
18891915
attribute = args.attribute,
18901916
)
18911917
# going home
1892-
return ls_opathfile
1918+
print(ls_opathfile)
1919+
1920+
# going home
1921+
return 0
18931922

18941923

18951924
###################################################
@@ -2174,7 +2203,8 @@ def plot_timeseries():
21742203
figbgcolor = None if (args.figbgcolor.lower() == 'none') else args.figbgcolor,
21752204
)
21762205
# going home
2177-
return s_pathfile
2206+
print(s_pathfile)
2207+
return 0
21782208

21792209

21802210
def make_ome_tiff():
@@ -2301,7 +2331,7 @@ def make_ome_tiff():
23012331
file = True,
23022332
)
23032333
# going home
2304-
return s_opathfile
2334+
print(s_opathfile)
23052335

23062336
else:
23072337
mcdsts = pcdl.TimeSeries(
@@ -2322,7 +2352,10 @@ def make_ome_tiff():
23222352
collapse = False if args.collapse.lower().startswith('f') else True,
23232353
)
23242354
# going home
2325-
return o_opathfile
2355+
print(o_opathfile)
2356+
2357+
# going home
2358+
return 0
23262359

23272360

23282361
#######################
@@ -2416,7 +2449,8 @@ def make_gif():
24162449
interface = args.interface,
24172450
)
24182451
# going home
2419-
return s_opathfile
2452+
print(s_opathfile)
2453+
return 0
24202454

24212455

24222456
def make_movie():
@@ -2468,4 +2502,5 @@ def make_movie():
24682502
framerate = args.framerate,
24692503
)
24702504
# going home
2471-
return s_opathfile
2505+
print(s_opathfile)
2506+
return 0

0 commit comments

Comments
 (0)