From a889c1ffff884f6b46b3c04a932c7084fcf962c4 Mon Sep 17 00:00:00 2001 From: Dimitrios Theodorakis Date: Sat, 1 May 2021 15:56:06 +0100 Subject: [PATCH] Source update Include data and interactives in /src/ --- src/astroedu.egg-info/PKG-INFO | 4 +- src/astroedu.egg-info/SOURCES.txt | 36 ++++++++++++++- src/astroedu.egg-info/entry_points.txt | 2 +- src/astroedu.egg-info/requires.txt | 13 +++--- src/astroedu/__build__.py | 11 +++-- src/astroedu/__main__.py | 44 ++++++++++--------- config.ini => src/astroedu/config.ini | 0 {data => src/astroedu/data}/atmospheres.csv | 0 {data => src/astroedu/data}/atmospheres.txt | 0 .../astroedu/data}/earth_chem_crust.csv | 0 .../astroedu/data}/earth_chem_crust.txt | 0 .../astroedu/data}/earth_chem_interior.csv | 0 .../astroedu/data}/earth_chem_interior.txt | 0 {data => src/astroedu/data}/exobase.csv | 0 {data => src/astroedu/data}/exobase.txt | 0 {data => src/astroedu/data}/geotherm.csv | 0 {data => src/astroedu/data}/geotherm.txt | 0 .../astroedu/data}/geotherm_original.csv | 0 .../astroedu/data}/geotherm_original.txt | 0 {data => src/astroedu/data}/int_std_atm.csv | 0 {data => src/astroedu/data}/int_std_atm.txt | 0 {data => src/astroedu/data}/jupiter_moons.csv | 0 {data => src/astroedu/data}/jupiter_moons.txt | 0 {data => src/astroedu/data}/neptune_moons.csv | 0 {data => src/astroedu/data}/neptune_moons.txt | 0 .../astroedu/data}/planetary_rings.csv | 0 .../astroedu/data}/planetary_rings.txt | 0 {data => src/astroedu/data}/planets.csv | 0 {data => src/astroedu/data}/planets.txt | 0 {data => src/astroedu/data}/saturn_moons.csv | 0 {data => src/astroedu/data}/saturn_moons.txt | 0 {data => src/astroedu/data}/saturn_rings.csv | 0 {data => src/astroedu/data}/saturn_rings.txt | 0 {data => src/astroedu/data}/structure.csv | 0 {data => src/astroedu/data}/structure.txt | 0 {data => src/astroedu/data}/uranus_moons.csv | 0 {data => src/astroedu/data}/uranus_moons.txt | 0 .../interactives}/blackbody_curves.ipynb | 0 .../equilibrium_temperature.ipynb | 0 .../interactives}/stefan_boltzman_law.ipynb | 0 .../astroedu/interactives}/wiens_law.ipynb | 0 41 files changed, 75 insertions(+), 35 deletions(-) rename config.ini => src/astroedu/config.ini (100%) rename {data => src/astroedu/data}/atmospheres.csv (100%) rename {data => src/astroedu/data}/atmospheres.txt (100%) rename {data => src/astroedu/data}/earth_chem_crust.csv (100%) rename {data => src/astroedu/data}/earth_chem_crust.txt (100%) rename {data => src/astroedu/data}/earth_chem_interior.csv (100%) rename {data => src/astroedu/data}/earth_chem_interior.txt (100%) rename {data => src/astroedu/data}/exobase.csv (100%) rename {data => src/astroedu/data}/exobase.txt (100%) rename {data => src/astroedu/data}/geotherm.csv (100%) rename {data => src/astroedu/data}/geotherm.txt (100%) rename {data => src/astroedu/data}/geotherm_original.csv (100%) rename {data => src/astroedu/data}/geotherm_original.txt (100%) rename {data => src/astroedu/data}/int_std_atm.csv (100%) rename {data => src/astroedu/data}/int_std_atm.txt (100%) rename {data => src/astroedu/data}/jupiter_moons.csv (100%) rename {data => src/astroedu/data}/jupiter_moons.txt (100%) rename {data => src/astroedu/data}/neptune_moons.csv (100%) rename {data => src/astroedu/data}/neptune_moons.txt (100%) rename {data => src/astroedu/data}/planetary_rings.csv (100%) rename {data => src/astroedu/data}/planetary_rings.txt (100%) rename {data => src/astroedu/data}/planets.csv (100%) rename {data => src/astroedu/data}/planets.txt (100%) rename {data => src/astroedu/data}/saturn_moons.csv (100%) rename {data => src/astroedu/data}/saturn_moons.txt (100%) rename {data => src/astroedu/data}/saturn_rings.csv (100%) rename {data => src/astroedu/data}/saturn_rings.txt (100%) rename {data => src/astroedu/data}/structure.csv (100%) rename {data => src/astroedu/data}/structure.txt (100%) rename {data => src/astroedu/data}/uranus_moons.csv (100%) rename {data => src/astroedu/data}/uranus_moons.txt (100%) rename {interactives => src/astroedu/interactives}/blackbody_curves.ipynb (100%) rename {interactives => src/astroedu/interactives}/equilibrium_temperature.ipynb (100%) rename {interactives => src/astroedu/interactives}/stefan_boltzman_law.ipynb (100%) rename {interactives => src/astroedu/interactives}/wiens_law.ipynb (100%) diff --git a/src/astroedu.egg-info/PKG-INFO b/src/astroedu.egg-info/PKG-INFO index 74b40a0..e5869ff 100644 --- a/src/astroedu.egg-info/PKG-INFO +++ b/src/astroedu.egg-info/PKG-INFO @@ -1,6 +1,6 @@ Metadata-Version: 2.1 Name: astroedu -Version: 0.0.2a1 +Version: 0.0.1a17 Summary: A python package for astronomy educators Home-page: https://github.com/astroDimitrios/astroedu Author: Dimitrios Theodorakis @@ -46,5 +46,5 @@ Classifier: Development Status :: 3 - Alpha Classifier: Programming Language :: Python :: 3 Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3) Classifier: Operating System :: OS Independent -Requires-Python: >=3.6 +Requires-Python: >=3.7 Description-Content-Type: text/markdown diff --git a/src/astroedu.egg-info/SOURCES.txt b/src/astroedu.egg-info/SOURCES.txt index 5ddc5b8..140e59c 100644 --- a/src/astroedu.egg-info/SOURCES.txt +++ b/src/astroedu.egg-info/SOURCES.txt @@ -45,4 +45,38 @@ src/astroedu.egg-info/SOURCES.txt src/astroedu.egg-info/dependency_links.txt src/astroedu.egg-info/entry_points.txt src/astroedu.egg-info/requires.txt -src/astroedu.egg-info/top_level.txt \ No newline at end of file +src/astroedu.egg-info/top_level.txt +src/astroedu/data/atmospheres.csv +src/astroedu/data/atmospheres.txt +src/astroedu/data/earth_chem_crust.csv +src/astroedu/data/earth_chem_crust.txt +src/astroedu/data/earth_chem_interior.csv +src/astroedu/data/earth_chem_interior.txt +src/astroedu/data/exobase.csv +src/astroedu/data/exobase.txt +src/astroedu/data/geotherm.csv +src/astroedu/data/geotherm.txt +src/astroedu/data/geotherm_original.csv +src/astroedu/data/geotherm_original.txt +src/astroedu/data/int_std_atm.csv +src/astroedu/data/int_std_atm.txt +src/astroedu/data/jupiter_moons.csv +src/astroedu/data/jupiter_moons.txt +src/astroedu/data/neptune_moons.csv +src/astroedu/data/neptune_moons.txt +src/astroedu/data/planetary_rings.csv +src/astroedu/data/planetary_rings.txt +src/astroedu/data/planets.csv +src/astroedu/data/planets.txt +src/astroedu/data/saturn_moons.csv +src/astroedu/data/saturn_moons.txt +src/astroedu/data/saturn_rings.csv +src/astroedu/data/saturn_rings.txt +src/astroedu/data/structure.csv +src/astroedu/data/structure.txt +src/astroedu/data/uranus_moons.csv +src/astroedu/data/uranus_moons.txt +src/astroedu/interactives/blackbody_curves.ipynb +src/astroedu/interactives/equilibrium_temperature.ipynb +src/astroedu/interactives/stefan_boltzman_law.ipynb +src/astroedu/interactives/wiens_law.ipynb \ No newline at end of file diff --git a/src/astroedu.egg-info/entry_points.txt b/src/astroedu.egg-info/entry_points.txt index d11bdc7..f259e62 100644 --- a/src/astroedu.egg-info/entry_points.txt +++ b/src/astroedu.egg-info/entry_points.txt @@ -1,3 +1,3 @@ [console_scripts] -astroedu = astroedu:startup +astroedu = astroedu.__main__:main diff --git a/src/astroedu.egg-info/requires.txt b/src/astroedu.egg-info/requires.txt index bfeaa47..5f41c78 100644 --- a/src/astroedu.egg-info/requires.txt +++ b/src/astroedu.egg-info/requires.txt @@ -1,6 +1,7 @@ -subprocess -numpy -matplotlib -pandas -jupyterlab -ipywidgets +numpy>=1.10.0 +matplotlib>=3.4.0 +pandas>=1.2 +jupyterlab>=3.0.0 +ipywidgets>=7.6.0 +fire>=0.4.0 +importlib-resources>=5.1.2 diff --git a/src/astroedu/__build__.py b/src/astroedu/__build__.py index 8b7f01e..89abccd 100644 --- a/src/astroedu/__build__.py +++ b/src/astroedu/__build__.py @@ -1,14 +1,17 @@ from configparser import ConfigParser from os import path -from site import getusersitepackages +from importlib.util import find_spec + +def get_astroedu_path(): + return find_spec('astroedu').submodule_search_locations[0] def build_path_config(): - install_path = getusersitepackages() + '/astroedu/' + astroedu_path = get_astroedu_path() documents_path = path.expanduser('~/Documents') config = ConfigParser() - config['astroedu-config'] = {'astroedu_path':install_path, 'docs_path':documents_path} + config['astroedu-config'] = {'install_path':astroedu_path, 'docs_path':documents_path} - f = open('config.ini', 'w') + f = open(astroedu_path+'/config.ini', 'w') config.write(f) f.close() \ No newline at end of file diff --git a/src/astroedu/__main__.py b/src/astroedu/__main__.py index 3103d10..0d02599 100644 --- a/src/astroedu/__main__.py +++ b/src/astroedu/__main__.py @@ -1,21 +1,24 @@ -from configparser import ConfigParser -from os import path import subprocess +from importlib_resources import files, is_resource +from importlib.util import find_spec +from configparser import ConfigParser +import fire + +from astroedu.__build__ import get_astroedu_path -def load_astroedu_path(): - from site import getusersitepackages - return getusersitepackages() + '/astroedu/' +def main(): + fire.Fire(startup) def load_astroedu_config(): - if not path.exists(config_file_name): + if not is_resource('astroedu', 'config.ini'): raise FileExistsError('No config.ini file found. Did you forget to run: \n astroedu build') config = ConfigParser() - config.read(config_file_name) + config.read(config_file_path) return config['astroedu-config'] -commands = ['interactive'] -astroedu_path = load_astroedu_path() -config_file_name = 'config.ini' +commands = ['build', 'interactive'] +astroedu_path = get_astroedu_path() +config_file_name = '/config.ini' config_file_path = astroedu_path + config_file_name def startup(*args): @@ -32,15 +35,14 @@ def startup(*args): build_path_config() elif command == 'interactive': interactive_name = args[1] - interactive_path = astroedu_path+'interactives/'+interactive_name+'.ipynb' - interactive_path = './interactives/'+interactive_name+'.ipynb' - if not path.exists(interactive_path): - raise FileExistsError(f'No interactive named {interactive_name}.') - call = ['jupyter', 'lab'] - call_args = list(args[2:]) if len(args) > 2 else [] - run_interactive = call + [interactive_path] + call_args - print(f'Loading interactive {interactive_name}!') - subprocess.run(run_interactive) + if not is_resource('astroedu.interactives', interactive_name+'.ipynb'): + raise FileExistsError(f'No interactive named {interactive_name} found.') + with files('astroedu').joinpath('interactives', interactive_name+'.ipynb') as p: + call = ['jupyter', 'lab'] + call_args = list(args[2:]) if len(args) > 2 else [] + run_interactive = call + [str(p)] + call_args + print(f'Loading interactive {interactive_name}!') + subprocess.run(run_interactive) -# if __name__ == '__main__': -# startup('interactive', 'wiens_law', '--port', '9999') \ No newline at end of file +if __name__ == '__main__': + fire.Fire(startup) \ No newline at end of file diff --git a/config.ini b/src/astroedu/config.ini similarity index 100% rename from config.ini rename to src/astroedu/config.ini diff --git a/data/atmospheres.csv b/src/astroedu/data/atmospheres.csv similarity index 100% rename from data/atmospheres.csv rename to src/astroedu/data/atmospheres.csv diff --git a/data/atmospheres.txt b/src/astroedu/data/atmospheres.txt similarity index 100% rename from data/atmospheres.txt rename to src/astroedu/data/atmospheres.txt diff --git a/data/earth_chem_crust.csv b/src/astroedu/data/earth_chem_crust.csv similarity index 100% rename from data/earth_chem_crust.csv rename to src/astroedu/data/earth_chem_crust.csv diff --git a/data/earth_chem_crust.txt b/src/astroedu/data/earth_chem_crust.txt similarity index 100% rename from data/earth_chem_crust.txt rename to src/astroedu/data/earth_chem_crust.txt diff --git a/data/earth_chem_interior.csv b/src/astroedu/data/earth_chem_interior.csv similarity index 100% rename from data/earth_chem_interior.csv rename to src/astroedu/data/earth_chem_interior.csv diff --git a/data/earth_chem_interior.txt b/src/astroedu/data/earth_chem_interior.txt similarity index 100% rename from data/earth_chem_interior.txt rename to src/astroedu/data/earth_chem_interior.txt diff --git a/data/exobase.csv b/src/astroedu/data/exobase.csv similarity index 100% rename from data/exobase.csv rename to src/astroedu/data/exobase.csv diff --git a/data/exobase.txt b/src/astroedu/data/exobase.txt similarity index 100% rename from data/exobase.txt rename to src/astroedu/data/exobase.txt diff --git a/data/geotherm.csv b/src/astroedu/data/geotherm.csv similarity index 100% rename from data/geotherm.csv rename to src/astroedu/data/geotherm.csv diff --git a/data/geotherm.txt b/src/astroedu/data/geotherm.txt similarity index 100% rename from data/geotherm.txt rename to src/astroedu/data/geotherm.txt diff --git a/data/geotherm_original.csv b/src/astroedu/data/geotherm_original.csv similarity index 100% rename from data/geotherm_original.csv rename to src/astroedu/data/geotherm_original.csv diff --git a/data/geotherm_original.txt b/src/astroedu/data/geotherm_original.txt similarity index 100% rename from data/geotherm_original.txt rename to src/astroedu/data/geotherm_original.txt diff --git a/data/int_std_atm.csv b/src/astroedu/data/int_std_atm.csv similarity index 100% rename from data/int_std_atm.csv rename to src/astroedu/data/int_std_atm.csv diff --git a/data/int_std_atm.txt b/src/astroedu/data/int_std_atm.txt similarity index 100% rename from data/int_std_atm.txt rename to src/astroedu/data/int_std_atm.txt diff --git a/data/jupiter_moons.csv b/src/astroedu/data/jupiter_moons.csv similarity index 100% rename from data/jupiter_moons.csv rename to src/astroedu/data/jupiter_moons.csv diff --git a/data/jupiter_moons.txt b/src/astroedu/data/jupiter_moons.txt similarity index 100% rename from data/jupiter_moons.txt rename to src/astroedu/data/jupiter_moons.txt diff --git a/data/neptune_moons.csv b/src/astroedu/data/neptune_moons.csv similarity index 100% rename from data/neptune_moons.csv rename to src/astroedu/data/neptune_moons.csv diff --git a/data/neptune_moons.txt b/src/astroedu/data/neptune_moons.txt similarity index 100% rename from data/neptune_moons.txt rename to src/astroedu/data/neptune_moons.txt diff --git a/data/planetary_rings.csv b/src/astroedu/data/planetary_rings.csv similarity index 100% rename from data/planetary_rings.csv rename to src/astroedu/data/planetary_rings.csv diff --git a/data/planetary_rings.txt b/src/astroedu/data/planetary_rings.txt similarity index 100% rename from data/planetary_rings.txt rename to src/astroedu/data/planetary_rings.txt diff --git a/data/planets.csv b/src/astroedu/data/planets.csv similarity index 100% rename from data/planets.csv rename to src/astroedu/data/planets.csv diff --git a/data/planets.txt b/src/astroedu/data/planets.txt similarity index 100% rename from data/planets.txt rename to src/astroedu/data/planets.txt diff --git a/data/saturn_moons.csv b/src/astroedu/data/saturn_moons.csv similarity index 100% rename from data/saturn_moons.csv rename to src/astroedu/data/saturn_moons.csv diff --git a/data/saturn_moons.txt b/src/astroedu/data/saturn_moons.txt similarity index 100% rename from data/saturn_moons.txt rename to src/astroedu/data/saturn_moons.txt diff --git a/data/saturn_rings.csv b/src/astroedu/data/saturn_rings.csv similarity index 100% rename from data/saturn_rings.csv rename to src/astroedu/data/saturn_rings.csv diff --git a/data/saturn_rings.txt b/src/astroedu/data/saturn_rings.txt similarity index 100% rename from data/saturn_rings.txt rename to src/astroedu/data/saturn_rings.txt diff --git a/data/structure.csv b/src/astroedu/data/structure.csv similarity index 100% rename from data/structure.csv rename to src/astroedu/data/structure.csv diff --git a/data/structure.txt b/src/astroedu/data/structure.txt similarity index 100% rename from data/structure.txt rename to src/astroedu/data/structure.txt diff --git a/data/uranus_moons.csv b/src/astroedu/data/uranus_moons.csv similarity index 100% rename from data/uranus_moons.csv rename to src/astroedu/data/uranus_moons.csv diff --git a/data/uranus_moons.txt b/src/astroedu/data/uranus_moons.txt similarity index 100% rename from data/uranus_moons.txt rename to src/astroedu/data/uranus_moons.txt diff --git a/interactives/blackbody_curves.ipynb b/src/astroedu/interactives/blackbody_curves.ipynb similarity index 100% rename from interactives/blackbody_curves.ipynb rename to src/astroedu/interactives/blackbody_curves.ipynb diff --git a/interactives/equilibrium_temperature.ipynb b/src/astroedu/interactives/equilibrium_temperature.ipynb similarity index 100% rename from interactives/equilibrium_temperature.ipynb rename to src/astroedu/interactives/equilibrium_temperature.ipynb diff --git a/interactives/stefan_boltzman_law.ipynb b/src/astroedu/interactives/stefan_boltzman_law.ipynb similarity index 100% rename from interactives/stefan_boltzman_law.ipynb rename to src/astroedu/interactives/stefan_boltzman_law.ipynb diff --git a/interactives/wiens_law.ipynb b/src/astroedu/interactives/wiens_law.ipynb similarity index 100% rename from interactives/wiens_law.ipynb rename to src/astroedu/interactives/wiens_law.ipynb