Package: epicdb
epicdbepicdb is apythonpackage which enables you to extract data from theEnvironmental Performance in Construction (EPiC) Database. epicdb uses Pandas and treats the EPiC Database as Pandas.DataFrame object. As such, all built-in methods of Pandas.DataFrames can be used. This means that data can be extracted by querying any attribute and can be exported in a single line to a variety of formats, including csv, xlsx, sql, json, feather, etc.The concept of epicdb is to provide developers with easy access to the EPiC Database as a python package, ensuring the consistency of results, and the access to the latest data by using the latest release.epicdb uses a static version of the EPiC Database, built-in within the package. We opted for that choice for simplicity and to avoid having to host the EPiC Database on a server and to access it through the API. Future versions of the EPiC Database will be packaged as new versions of thepythonpackage. Migrating to a server-based data distrubution with a python package that fetches data from the cloud will be investigated for future versions, and based on user demand.Getting StartedPrerequisitesYou will needpythonto run this package as well as the following python package:pandasInstallingDownload and install the package from pippip install epicdbStructure of the databaseThe EPiC Database in the epicdb package comes with 14 fields. These are described one by one below:uuid: a unique identifier for each material and variation. This is used as the index of the Pandas.DataFrame object and can be used to access individual materials directlyname: the material name, as reported in the EPiC Database. Note: minor differences might occur.category: the material category, as reported in the EPiC Database, e.g. Metals.type: the material type, as reported in the EPiC Database, e.g. Stainless Steel.functional_unit: the functional unit of the material, i.e. kg, mÂ², mÂ³, no., or m.energy: the hybrid embodied energy coefficient of the material, in MJwater: the hybrid embodied water coefficient of the material, in kLghg: the hybrid embodied greenhouse gas emissions coefficient of the material, in kgCO2edoi: the digital object identifier of the material, linking to its fact sheet and metadata file on figsharedensity: the density of the material, in kg/mÂ³specific_hear: the specific heat of the material, in kJ/(kgÂ·K)process_proportion_energy: the percentage of process data representing the hybrid embodied energy coefficient of the material, as fraction of 1process_proportion_water: the percentage of process data representing the hybrid embodied water coefficient of the material, as fraction of 1process_proportion_ghg: the percentage of process data representing the hybrid embodied greenhouse gas emissions coefficient of the material, as fraction of 1How epicdb worksFirst you need to import the epicdb package as follows:import epicdb as epicThe epic database is now loaded and ready to be used.To get a list of all fields of the databasefields = epic.get_fields()To retrieve the entire EPiC Database as a Pandas.DataFrame instance:epic_df = epic.get_all_db()To get a compact version of the EPiC Database:epic_df_c = epic.get_all_db(compact=True)To export the entire EPiC Database to csv:epic.to_csv(path=your_csv_file_path, compact=True/False)To query the EPiC Database for one or more materials, you can query the material name, the material category and/or the material type:Some examples:concrete_mats = epic.get(name='concrete')
insulation_mats = epic.get(category='insulation')
aluminium_mats = epic.get(type='aluminium')

20_mpa_concrete = epic.get(name='20 mpa concrete')
timber_hardwood_mats = epic.get(category='timber', type='hardwood')Notice that all of the above return Pandas.DataFrame instances so you can call all built-in methods on them, e.g. exporting the concrete materials to csv:concrete_mats.to_csv('concrete_mats.csv')Once you have queried a subset of the EPiC Database, you can access the coefficients through the columns 'energy', 'water' and 'ghg'. For instance:concrete_mats[['energy']]returns all the embodied energy coefficients for all concrete materials in the EPiC Database.Pandas.Dataframes are very powerul data structures. Clickhereto explore their built-in methods.Built with:pycharmBelgian beers and coffee from High Five in Louvain-la-Neuve, BelgiumAuthors and contributorsAuthorAndrÃ© Stephan-overall design, implementation, testing and debugging-ORCIDCollaboratorsRobert H Crawford-brainstorming and project leader of the original EPiC Database-ORCIDFabian Prideaux-Tidying up the excel version of the EPiC database and creating the uuids of the materials-ORCIDLicenseThis project is shared under a GNU General Public License v3.0. See theLICENSE.mdfile for more information.AcknowledgmentsThis python package was funded by theBelgian Fund for Scientific Research (F.R.S. - FNRS) MIS project F.4547.21, titledNested Phoenixat theUniversitÃ© Catholique de Louvain, Belgium. As such, we are endebted to Belgian taxpayers for making this work possible and to the UniversitÃ© Catholique de Louvain for providing the facilities and intellectual space to conduct this research.