Skip to content

Commit 2cd8791

Browse files
Basic functions per columns
1 parent 3f9aab5 commit 2cd8791

File tree

8 files changed

+118
-1
lines changed

8 files changed

+118
-1
lines changed

braininventory.egg-info/PKG-INFO

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
Metadata-Version: 2.1
2+
Name: braininventory
3+
Version: 1.0.0
4+
Summary: A basic inventory management package
5+
Home-page: https://github.com/brain-image-library/py-bil-inventory
6+
Author: Ivan Cao-Berg, Eduardo Figueroa
7+
Author-email: [email protected]
8+
License: UNKNOWN
9+
Description: UNKNOWN
10+
Platform: UNKNOWN
11+
Classifier: Programming Language :: Python :: 3
12+
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
13+
Classifier: Operating System :: OS Independent
14+
Requires-Python: >=3.6
15+
Description-Content-Type: text/markdown
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
README.md
2+
setup.py
3+
braininventory/__init__.py
4+
braininventory/get.py
5+
braininventory.egg-info/PKG-INFO
6+
braininventory.egg-info/SOURCES.txt
7+
braininventory.egg-info/dependency_links.txt
8+
braininventory.egg-info/top_level.txt
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
braininventory

braininventory/get.py

Lines changed: 41 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,36 @@ def __get_completeness_score(df):
3333
def __get_metadata_version(df):
3434
return df['metadata_version'] .value_counts().to_dict()
3535

36+
def __get_contributor(df):
37+
return df['contributor'].value_counts().to_dict()
38+
39+
def __get_affilation(df):
40+
return df['affiliation'].value_counts().to_dict()
41+
42+
def __get_award_number(df):
43+
return df['award_number'].value_counts().to_dict()
44+
45+
def __get_species(df):
46+
return df['species'].value_counts().to_dict()
47+
48+
def __ get_cnbtaxonomy(df):
49+
return df['cnbtaxonomy'].value_counts().to_dict()
50+
51+
def __get_samplelocalid(df):
52+
return df['samplelocalid'].value_counts().to_dict()
53+
54+
def __get_genotype(df):
55+
return df['genotype'].value_counts().to_dict()
56+
57+
def __get_generalmodality(df):
58+
return df['generalmodality'].value_counts().to_dict()
59+
60+
def __get_technique(df):
61+
return df['technique'].value_counts().to_dict()
62+
63+
def __get_locations(df):
64+
return df['locations'].value_counts().to_dict()
65+
3666
def report():
3767
# Get today's date
3868
tdate = date.today()
@@ -47,5 +77,15 @@ def report():
4777
report['number_of_datasets'] = __get_number_of_datasets(df)
4878
report['completeness_score'] = __get_completeness_score(df)
4979
report['metadata_version'] = __get_metadata_version(df)
50-
80+
report['contributor'] = __get_contributor(df)
81+
report['affiliation'] = __get_affilation(df)
82+
report['award_number'] = __get_award_number(df)
83+
report['species'] = __get_species(df)
84+
report['cnbtaxonomy'] = __ get_cnbtaxonomy(df)
85+
report['samplelocalid'] = __get_samplelocalid(df)
86+
report['genotype'] = __get_genotype(df)
87+
report['generalmodality'] = __get_generalmodality(df)
88+
report['technique'] = __get_technique(df)
89+
report['locations'] = __get_locations(df)
90+
5191
return report
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
from .get import *

build/lib/braininventory/get.py

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
import requests
2+
import pandas as pd
3+
import json
4+
from datetime import date
5+
6+
def today():
7+
"""
8+
Get today's snapshot of Brain Image Library.
9+
"""
10+
11+
server = "https://download.brainimagelibrary.org/inventory/daily/reports/"
12+
filename = "today.json"
13+
14+
response = requests.get(f"{server}{filename}")
15+
16+
# Check if the request was successful
17+
if response.status_code == 200:
18+
# Parse the JSON data into a dictionary
19+
data = json.loads(response.text)
20+
data = pd.DataFrame(data)
21+
return data
22+
23+
else:
24+
print("Error: Failed to fetch JSON data")
25+
return pd.DataFrame()
26+
27+
def __get_number_of_datasets(df):
28+
return len(df)
29+
30+
def __get_completeness_score(df):
31+
return df['score'].sum()/len(df)
32+
33+
def __get_metadata_version(df):
34+
return df['metadata_version'] .value_counts().to_dict()
35+
36+
def report():
37+
# Get today's date
38+
tdate = date.today()
39+
40+
# Convert date to string
41+
tdate = tdate.strftime("%Y-%m-%d")
42+
43+
df = today()
44+
45+
report = {}
46+
report['date'] = tdate
47+
report['number_of_datasets'] = __get_number_of_datasets(df)
48+
report['completeness_score'] = __get_completeness_score(df)
49+
report['metadata_version'] = __get_metadata_version(df)
50+
51+
return report
3.17 KB
Binary file not shown.

0 commit comments

Comments
 (0)