From 50e4a38df7e1fbbf9073559baf71a80eeadac5a3 Mon Sep 17 00:00:00 2001 From: "Joshua E. Jodesty" Date: Thu, 14 Feb 2019 20:05:46 -0500 Subject: [PATCH] rename hell --- .gitignore | 2 ++ README.md | 2 +- SimCAD/__init__.py | 2 -- cadCAD/__init__.py | 2 ++ {SimCAD => cadCAD}/configuration/__init__.py | 12 ++++++------ .../configuration/utils/__init__.py | 2 +- .../configuration/utils/parameterSweep.py | 2 +- .../configuration/utils/policyAggregation.py | 0 {SimCAD => cadCAD}/engine/__init__.py | 8 ++++---- {SimCAD => cadCAD}/engine/simulation.py | 4 ++-- {SimCAD => cadCAD}/engine/utils.py | 0 {SimCAD => cadCAD}/utils/__init__.py | 0 dist/SimCAD-0.1-py3-none-any.whl | Bin 7445 -> 0 bytes dist/cadCAD-0.1-py3-none-any.whl | Bin 0 -> 9794 bytes setup.py | 10 +++++----- simulations/example_run.py | 4 ++-- simulations/validation/config1.py | 14 +++++++------- simulations/validation/config2.py | 14 +++++++------- simulations/validation/sweep_config.py | 14 +++++++------- 19 files changed, 47 insertions(+), 45 deletions(-) delete mode 100644 SimCAD/__init__.py create mode 100644 cadCAD/__init__.py rename {SimCAD => cadCAD}/configuration/__init__.py (92%) rename {SimCAD => cadCAD}/configuration/utils/__init__.py (98%) rename {SimCAD => cadCAD}/configuration/utils/parameterSweep.py (84%) rename {SimCAD => cadCAD}/configuration/utils/policyAggregation.py (100%) rename {SimCAD => cadCAD}/engine/__init__.py (94%) rename {SimCAD => cadCAD}/engine/simulation.py (97%) rename {SimCAD => cadCAD}/engine/utils.py (100%) rename {SimCAD => cadCAD}/utils/__init__.py (100%) delete mode 100644 dist/SimCAD-0.1-py3-none-any.whl create mode 100644 dist/cadCAD-0.1-py3-none-any.whl diff --git a/.gitignore b/.gitignore index b70d197..27a58c5 100644 --- a/.gitignore +++ b/.gitignore @@ -12,6 +12,8 @@ results *.csv *.txt simulations/.ipynb_checkpoints +dist/*.gz +cadCAD.egg-info build SimCAD.egg-info \ No newline at end of file diff --git a/README.md b/README.md index 825c846..b591f72 100644 --- a/README.md +++ b/README.md @@ -21,7 +21,7 @@ SimCAD is written in Python 3. ```bash pip3 install -r requirements.txt python3 setup.py sdist bdist_wheel -pip3 install dist/SimCAD-0.1-py3-none-any.whl +pip3 install dist/cadCAD-0.1-py3-none-any.whl ``` **2. Configure Simulation:** diff --git a/SimCAD/__init__.py b/SimCAD/__init__.py deleted file mode 100644 index b4234cb..0000000 --- a/SimCAD/__init__.py +++ /dev/null @@ -1,2 +0,0 @@ -name = "SimCAD" -configs = [] \ No newline at end of file diff --git a/cadCAD/__init__.py b/cadCAD/__init__.py new file mode 100644 index 0000000..ce0b0f9 --- /dev/null +++ b/cadCAD/__init__.py @@ -0,0 +1,2 @@ +name = "cadCAD" +configs = [] \ No newline at end of file diff --git a/SimCAD/configuration/__init__.py b/cadCAD/configuration/__init__.py similarity index 92% rename from SimCAD/configuration/__init__.py rename to cadCAD/configuration/__init__.py index 1440b54..277ffce 100644 --- a/SimCAD/configuration/__init__.py +++ b/cadCAD/configuration/__init__.py @@ -2,15 +2,15 @@ from functools import reduce from fn.op import foldr import pandas as pd -from SimCAD import configs -from SimCAD.utils import key_filter -from SimCAD.configuration.utils.policyAggregation import dict_elemwise_sum -from SimCAD.configuration.utils import exo_update_per_ts +from cadCAD import configs +from cadCAD.utils import key_filter +from cadCAD.configuration.utils.policyAggregation import dict_elemwise_sum +from cadCAD.configuration.utils import exo_update_per_ts class Configuration(object): - def __init__(self, sim_config=None, initial_state=None, seeds=None, env_processes=None, - exogenous_states=None, partial_state_updates=None, policy_ops=[foldr(dict_elemwise_sum())]): + def __init__(self, sim_config={}, initial_state={}, seeds={}, env_processes={}, + exogenous_states={}, partial_state_updates={}, policy_ops=[foldr(dict_elemwise_sum())], **kwargs): self.sim_config = sim_config self.initial_state = initial_state self.seeds = seeds diff --git a/SimCAD/configuration/utils/__init__.py b/cadCAD/configuration/utils/__init__.py similarity index 98% rename from SimCAD/configuration/utils/__init__.py rename to cadCAD/configuration/utils/__init__.py index ab5113d..084f7ae 100644 --- a/SimCAD/configuration/utils/__init__.py +++ b/cadCAD/configuration/utils/__init__.py @@ -4,7 +4,7 @@ from copy import deepcopy from fn.func import curried import pandas as pd -from SimCAD.utils import dict_filter, contains_type +from cadCAD.utils import dict_filter, contains_type class TensorFieldReport: diff --git a/SimCAD/configuration/utils/parameterSweep.py b/cadCAD/configuration/utils/parameterSweep.py similarity index 84% rename from SimCAD/configuration/utils/parameterSweep.py rename to cadCAD/configuration/utils/parameterSweep.py index 7d5024c..9e5d6ab 100644 --- a/SimCAD/configuration/utils/parameterSweep.py +++ b/cadCAD/configuration/utils/parameterSweep.py @@ -1,4 +1,4 @@ -from SimCAD.utils import flatten_tabulated_dict, tabulate_dict +from cadCAD.utils import flatten_tabulated_dict, tabulate_dict def process_variables(d): diff --git a/SimCAD/configuration/utils/policyAggregation.py b/cadCAD/configuration/utils/policyAggregation.py similarity index 100% rename from SimCAD/configuration/utils/policyAggregation.py rename to cadCAD/configuration/utils/policyAggregation.py diff --git a/SimCAD/engine/__init__.py b/cadCAD/engine/__init__.py similarity index 94% rename from SimCAD/engine/__init__.py rename to cadCAD/engine/__init__.py index 139d126..5a1d4ad 100644 --- a/SimCAD/engine/__init__.py +++ b/cadCAD/engine/__init__.py @@ -1,9 +1,9 @@ from pathos.multiprocessing import ProcessingPool as Pool -from SimCAD.utils import flatten -from SimCAD.configuration import Processor -from SimCAD.configuration.utils import TensorFieldReport -from SimCAD.engine.simulation import Executor as SimExecutor +from cadCAD.utils import flatten +from cadCAD.configuration import Processor +from cadCAD.configuration.utils import TensorFieldReport +from cadCAD.engine.simulation import Executor as SimExecutor class ExecutionMode: diff --git a/SimCAD/engine/simulation.py b/cadCAD/engine/simulation.py similarity index 97% rename from SimCAD/engine/simulation.py rename to cadCAD/engine/simulation.py index 4d855b1..9e3a153 100644 --- a/SimCAD/engine/simulation.py +++ b/cadCAD/engine/simulation.py @@ -1,7 +1,7 @@ from copy import deepcopy from fn.op import foldr, call -from SimCAD.engine.utils import engine_exception +from cadCAD.engine.utils import engine_exception id_exception = engine_exception(KeyError, KeyError, None) @@ -49,7 +49,7 @@ class Executor: del last_in_obj - self.apply_env_proc(env_processes, last_in_copy, last_in_copy['timestamp']) + self.apply_env_proc(env_processes, last_in_copy, last_in_copy['timestep']) # not time_step last_in_copy["sub_step"], last_in_copy["time_step"], last_in_copy['run'] = sub_step, time_step, run sL.append(last_in_copy) diff --git a/SimCAD/engine/utils.py b/cadCAD/engine/utils.py similarity index 100% rename from SimCAD/engine/utils.py rename to cadCAD/engine/utils.py diff --git a/SimCAD/utils/__init__.py b/cadCAD/utils/__init__.py similarity index 100% rename from SimCAD/utils/__init__.py rename to cadCAD/utils/__init__.py diff --git a/dist/SimCAD-0.1-py3-none-any.whl b/dist/SimCAD-0.1-py3-none-any.whl deleted file mode 100644 index d6a18cf3b4ece9d96dc8275acf765fab7dcc56cd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7445 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 literal 0 HcmV?d00001 diff --git a/setup.py b/setup.py index 619744d..ab1c80c 100644 --- a/setup.py +++ b/setup.py @@ -1,6 +1,6 @@ from setuptools import setup, find_packages -long_description = "SimCAD is a differential games based simulation software package for research, validation, and \ +long_description = "cadCAD is a differential games based simulation software package for research, validation, and \ Computer Aided Design of economic systems. An economic system is treated as a state based model and defined through \ a set of endogenous and exogenous state variables which are updated through mechanisms and environmental processes, \ respectively. Behavioral models, which may be deterministic or stochastic, provide the evolution of the system \ @@ -10,14 +10,14 @@ long_description = "SimCAD is a differential games based simulation software pac processes to understand and visualize network behavior under various conditions. Support for A/B testing policies, \ monte carlo analysis and other common numerical methods is provided." -setup(name='SimCAD', +setup(name='cadCAD', version='0.1', - description="SimCAD: a differential games based simulation software package for research, validation, and \ + description="cadCAD: a differential games based simulation software package for research, validation, and \ Computer Aided Design of economic systems", long_description = long_description, - url='https://github.com/BlockScience/DiffyQ-SimCAD', + url='https://github.com/BlockScience/DiffyQ-cadCAD', author='Joshua E. Jodesty', author_email='joshua@block.science', # license='LICENSE', - packages=find_packages() #['SimCAD'] + packages=find_packages() ) diff --git a/simulations/example_run.py b/simulations/example_run.py index b179e49..3c80d44 100644 --- a/simulations/example_run.py +++ b/simulations/example_run.py @@ -1,9 +1,9 @@ import pandas as pd from tabulate import tabulate # The following imports NEED to be in the exact order -from SimCAD.engine import ExecutionMode, ExecutionContext, Executor +from cadCAD.engine import ExecutionMode, ExecutionContext, Executor from simulations.validation import sweep_config, config1, config2 -from SimCAD import configs +from cadCAD import configs exec_mode = ExecutionMode() diff --git a/simulations/validation/config1.py b/simulations/validation/config1.py index ce74604..4539208 100644 --- a/simulations/validation/config1.py +++ b/simulations/validation/config1.py @@ -2,9 +2,9 @@ from decimal import Decimal import numpy as np from datetime import timedelta -from SimCAD.configuration import append_configs -from SimCAD.configuration.utils import proc_trigger, bound_norm_random, ep_time_step -from SimCAD.configuration.utils.parameterSweep import config_sim +from cadCAD.configuration import append_configs +from cadCAD.configuration.utils import proc_trigger, bound_norm_random, ep_time_step +from cadCAD.configuration.utils.parameterSweep import config_sim seeds = { @@ -78,8 +78,8 @@ def es4p2(_g, step, sL, s, _input): ts_format = '%Y-%m-%d %H:%M:%S' t_delta = timedelta(days=0, minutes=0, seconds=1) def es5p2(_g, step, sL, s, _input): - y = 'timestamp' - x = ep_time_step(s, dt_str=s['timestamp'], fromat_str=ts_format, _timedelta=t_delta) + y = 'timestep' + x = ep_time_step(s, dt_str=s['timestep'], fromat_str=ts_format, _timedelta=t_delta) return (y, x) @@ -98,14 +98,14 @@ genesis_states = { 's2': Decimal(0.0), 's3': Decimal(1.0), 's4': Decimal(1.0), - 'timestamp': '2018-10-01 15:16:24' + 'timestep': '2018-10-01 15:16:24' } raw_exogenous_states = { "s3": es3p1, "s4": es4p2, - "timestamp": es5p2 + "timestep": es5p2 } diff --git a/simulations/validation/config2.py b/simulations/validation/config2.py index 987e8c0..5925c6c 100644 --- a/simulations/validation/config2.py +++ b/simulations/validation/config2.py @@ -2,9 +2,9 @@ from decimal import Decimal import numpy as np from datetime import timedelta -from SimCAD.configuration import append_configs -from SimCAD.configuration.utils import proc_trigger, bound_norm_random, ep_time_step -from SimCAD.configuration.utils.parameterSweep import config_sim +from cadCAD.configuration import append_configs +from cadCAD.configuration.utils import proc_trigger, bound_norm_random, ep_time_step +from cadCAD.configuration.utils.parameterSweep import config_sim seeds = { 'z': np.random.RandomState(1), @@ -77,8 +77,8 @@ def es4p2(_g, step, sL, s, _input): ts_format = '%Y-%m-%d %H:%M:%S' t_delta = timedelta(days=0, minutes=0, seconds=1) def es5p2(_g, step, sL, s, _input): - y = 'timestamp' - x = ep_time_step(s, dt_str=s['timestamp'], fromat_str=ts_format, _timedelta=t_delta) + y = 'timestep' + x = ep_time_step(s, dt_str=s['timestep'], fromat_str=ts_format, _timedelta=t_delta) return (y, x) @@ -97,14 +97,14 @@ genesis_states = { 's2': Decimal(0.0), 's3': Decimal(1.0), 's4': Decimal(1.0), - 'timestamp': '2018-10-01 15:16:24' + 'timestep': '2018-10-01 15:16:24' } raw_exogenous_states = { "s3": es3p1, "s4": es4p2, - "timestamp": es5p2 + "timestep": es5p2 } diff --git a/simulations/validation/sweep_config.py b/simulations/validation/sweep_config.py index c93a703..f23e4ba 100644 --- a/simulations/validation/sweep_config.py +++ b/simulations/validation/sweep_config.py @@ -3,9 +3,9 @@ import numpy as np from datetime import timedelta import pprint -from SimCAD.configuration import append_configs -from SimCAD.configuration.utils import proc_trigger, ep_time_step -from SimCAD.configuration.utils.parameterSweep import config_sim +from cadCAD.configuration import append_configs +from cadCAD.configuration.utils import proc_trigger, ep_time_step +from cadCAD.configuration.utils.parameterSweep import config_sim pp = pprint.PrettyPrinter(indent=4) @@ -93,8 +93,8 @@ def es4p2(_g, step, sL, s, _input): ts_format = '%Y-%m-%d %H:%M:%S' t_delta = timedelta(days=0, minutes=0, seconds=1) def es5p2(_g, step, sL, s, _input): - y = 'timestamp' - x = ep_time_step(s, dt_str=s['timestamp'], fromat_str=ts_format, _timedelta=t_delta) + y = 'timestep' + x = ep_time_step(s, dt_str=s['timestep'], fromat_str=ts_format, _timedelta=t_delta) return (y, x) @@ -114,7 +114,7 @@ genesis_states = { 's2': Decimal(0.0), 's3': Decimal(1.0), 's4': Decimal(1.0), - 'timestamp': '2018-10-01 15:16:24' + 'timestep': '2018-10-01 15:16:24' } @@ -122,7 +122,7 @@ genesis_states = { raw_exogenous_states = { "s3": es3p1, "s4": es4p2, - "timestamp": es5p2 + "timestep": es5p2 }