This repo includes the core materials scholar functionality that should be kept private.
- For installation and usage - it doesn't work with python3.7 as there are problems with dependencies, so use python3.6
- It is recommended to use separate conda environments for each project as they may require different versions of same libraries
- Create a fork on github
- Clone your forked repo:
git clone https://github.com/YOUR_GITHUB_USERNAME/matscholar-core.git
- Also you need git-library matscholar, so create a fork of it on github
- Clone your forked library:
git clone https://github.com/YOUR_GITHUB_USERNAME/matscholar.git
- Create conda environment for project with python3.6, here for installed anaconda3:
conda create NAME_ENV python=3.6
- Activate your environment:
source ~/anaconda3/bin/activate NAME_ENV
- Check:
which python
should give you path:~/anaconda3/envs/NAME_ENV/bin/python
python --version
should give you python3.6which pip
should give you path: ~/anaconda3/envs/NAME_ENV/bin/pippip --version
should give you ... (python3.6) If something is wrong, check you ~/.bashrc or ~/.bash_profile for any lines with 'alias python=...', 'alias pip=...', restart terminal or running the following commands instead of pip or python write the full path to bin-file (example given further). cd matscholar
~/anaconda3/envs/NAME_ENV/bin/pip install -r requirements.txt
pip install .
orpython setup.py install
(or the full path to correct pip and python)- Check:
conda list
should give you the list of packages installed in you environment cd matscholar-core
pip install -r requirements.txt
(or full path to pip in env)python setup.py install
- To be able to pull from the main repo:
git add remote upstream https://github.com/materialsintelligence/matscholar-core.git
- Add the following enviornment variables:
export ELASTIC_HOST='<elasticsearch host>'
export ELASTIC_PASS='<elasticsearch password>'
export ELASTIC_USER='elastic_read_only'
export S3_BUCKET_NAME='materialsintelligence'
export MATERIALS_SCHOLAR_API_KEY='<api_key>'
- When finish, return to you base environment:
conda activate
git add .
git commit -m "I made such and such changes."
git push origin master
origin
is the default git remote alias for your forkmaster
is the default branch
- Go to the page of your fork on github and create a pull request to the main repo on materialsintelligence
- Make sure you have
pytest
installed - Run
python -m pytest
from the root directory
-
v0.0.12 (Dec 13, 2018)
- Materials Summary and Entity Search Functionality
- Materials Map Functionality (2D and 3D)
-
v0.0.11 (Dec 12, 2018)
- Dockerfile and other code for deployment of API on AWS ECS service
-
v0.0.10 (Dec 3, 2018)
- PreProcessResource for preprocessing text + corresponding tests
- EmbeddingResource for requesting word embeddings, or an embedding matrix for a list of words/phrases
-
v0.0.9 (Nov 29, 2018)
- MatSearchResource and CloseWordsResource accept negative words
- MentionedWithResource, checking if a material is mentioned with a list of keywords
- test coverage for word2vec processing
- test coverage for close_words and mentioned_with
-
v0.0.8 (Nov 27, 2018)
- fixed MatSearchResource
- test coverage for matsearch RESTful API
-
v0.0.7 (Nov 27, 2018)
- Full test coverage for word embeddings
-
v0.0.6 (Nov 26, 2018)
- Full test coverage for annotation
- Added a test for AuthConnection
-
v0.0.5 (Nov 24, 2018)
- Added MANIFEST.in to package the model files with the module installation
- Added tests for annotation
- Fixed a bug in annotation (POS tags when creating phrases)
-
(Nov 2, 2018)
- Optimizing EmbeddingEngine for API using using pymagnitude library
- Added tests for EmbeddingEngine
- Still to do: final two functions in word_embeddings.py need tests + modifications
-
v0.0.4 (Oct 11, 2018)
- Added api code
- added AuthConnection to database.connections.py
- need to write api tests
- added API dependencies to requirements.txt
- Added search code
- search still needs to be refactored
- Added collect code
- Added init.py for search
- Fixed various bugs that popped up when trying to start up API server
- Added api code
-
v0.0.3 (Oct 11, 2018)
- Solved DataPreparation deaccenting issue (does not happen now if it is a single character)
- annotation_metrics test now pass
-
v0.0.2 (Oct 3, 2018)
- Added annotation
- missing tests, and the existing annotation metrics test is failing
- Added nlp/word_embeddings
- need tests
- Added processing/word2vec, parsing, utils
- need tests
- need to unify the various parsers
- Added annotation
-
v0.0.1 (Oct 3, 2018)
- Added database connection functionality with tests