1_Obtaining
###How to obtain Psi4: start with find-the-code quiz, end in $top-level-psi4-dir
Take a quiz to find the best version of the codebase for your needs, be it binary, tarball, or version-controlled repository. Or, select outright among:
- Conda Binary
- Clone from Public GitHub Repository (read-only unless core developer)
- Tarball from Public GitHub Repository
- Fork from Public GitHub Repository
- Fork from Private Mirror GitHub Repository (with permission)
- Clone from Private Mirror GitHub Repository (core developers only)
- Psi3 from SourceForge
-
I just want to run the code. I may tweak the Python, but I’m not developing anything to contribute back to the code base.
-
Provided I still get good, threaded BLAS/LAPACK, I’m willing to sacrifice processor architecture tuning to avoid compiling it myself.
-
I'm on Linux. Goto Binary
-
I'm on Mac. Binary forthcoming as soon as I get a chance to work on it. Meanwhile, Goto ???
-
-
I want to compile it myself for best performance on my computer.
-
I'm willing to have minimal dealings with git (e.g., commands
git clone
andgit pull
) in return for easy access in future to new features and bug fixes. Goto Clone-from-GitHub -
I don't want to deal with this newfangled git, just give me a tarball of the source code Goto Tarball-from-GitHub
-
-
-
I want to run and develop in Psi4.
-
In keeping with the open-source philosophy, I don't mind my code being as public as Psi4 itself during the development process. Goto Fork-from-GitHub
-
I have scientific competitors, and I don't want to get scooped. Goto Fork-from-GitHub-Private
-
something about plugins
-
-
I really like parentheses and/or DBOC, so I want Psi3. Goto Psi3-from-SourceForge.
-
I am a core Psi4 developer, yet I'm still taking this quiz.
-
I have minions whose Psi4 development work I want to supervise through this repository instance. Preferably, Goto Fork-from-GitHub; otherwise Goto Fork-from-GitHub-Private
-
Just give me a repository to commit to directly. Preferably, Goto Clone-from-GitHub; otherwise Goto Clone-from-GitHub-Private
-
-
Follow instructions for download and installation of both conda and Psi4. Key command as follows.
conda install -c https://conda.anaconda.org/psi4 psi4
* ##### Build
Not applicable as binary is pre-built.
* ##### Get Updates
```bash
>>> conda update psi4
-
Not applicable as not under git control.
-
The Psi4 repository at https://github.com/psi4/psi4 works like every other GitHub repo. Locally, clone as below.
git clone --recursive https://github.com/psi4/psi4.git cd psi4
* ##### [Build](3_Building)
* ##### Get Updates
```bash
# on branch master
>>> git pull origin master
-
Not applicable unless core developer, in which case:
git pull origin master git push origin master
---
### <a name="clonepsi4private"></a>Clone from Private Mirror GitHub Repository
* ##### Get Initially
The Psi4 repository at https://github.com/psi4/psi4private works like [every other GitHub repo](https://help.github.com/articles/which-remote-url-should-i-use/). Locally, clone as below.
```bash
# use https or ssh
>>> git clone --recursive https://github.com/psi4/psi4private.git
>>> cd psi4private
# this is your $top-level-psi4-dir
git pull origin master
* ##### Contribute Back
Core developers can store private branches at will. Commits to master are eligible for publishing on the public repository.
```bash
# on branch master
>>> git pull origin master
>>> git push origin master
-
Go to https://github.com/psi4/psi4, and hit the Fork button to store a Psi4 repository in your GitHub account. Locally, proceed to clone:
git clone --recursive https://github.com/johndoe/psi4.git cd psi4
[Set up a connection](https://help.github.com/articles/configuring-a-remote-for-a-fork/) between your forked repository and the parent repository.
```bash
>>> git remote add upstream https://github.com/psi4/psi4.git
-
Locally, update your fork from the parent repository and store on GitHub at your fork.
git pull origin master git fetch upstream git merge upstream/master git push origin master
* ##### Contribute Back
Consider [preparing your contribution in a branch](http://blog.jasonmeridth.com/posts/do-not-issue-pull-requests-from-your-master-branch/) then issue a [GitHub pull request](https://help.github.com/articles/creating-a-pull-request/)
---
### <a name="forkpsi4private"></a>Fork from Private Mirror GitHub Repository
* ##### Get Initially
E-mail a [Professor-in-charge](http://psicode.org/developers.php) with your situation and your GitHub username to arrange collaborator access to the private GitHub repository. After you've received e-mail from GitHub notifying you've been added to the repo and *are logged in to GitHub*, https://github.com/psi4/psi4private should be accessible. Hit the [Fork](https://help.github.com/articles/fork-a-repo/) button to store a non-public Psi4 repository in your GitHub account without associated fees. Locally, proceed to clone:
```bash
# replace johndoe
# use https or ssh
>>> git clone --recursive https://github.com/johndoe/psi4private.git
>>> cd psi4private
# this is your top-level-psi4-dir
Set up a connection between your forked repository and the parent repository.
>>> git remote add upstream https://github.com/psi4/psi4private.git
-
Locally, update your fork from the parent repository and store on GitHub at your fork.
git pull origin master git fetch upstream git merge upstream/master git push origin master
* ##### Contribute Back
Consider [preparing your contribution in a branch](http://blog.jasonmeridth.com/posts/do-not-issue-pull-requests-from-your-master-branch/) then issue a [GitHub pull request](https://help.github.com/articles/creating-a-pull-request/)
---
### <a name="tarballpsi4public"></a>Tarball from Public GitHub Repository
* ##### Get Initially
From the Psi4 repository at https://github.com/psi4/psi4, hit the "Download ZIP" button. Locally, unpack as below.
```bash
>>> unzip psi4-master.zip
# leave the zip file here during build for version info
>>> cd psi4-master
# this is your $top-level-psi4-dir
-
Download new tarball and rebuild.
-
Not applicable as source not under git control.
-
A tarball of the most recent version of Psi3 (3.4.0 circa 2009) is available from SourceForge
-
Follow the
INSTALL
file that comes with the distribution. An old computer is probably handy for generating a working executable. -
Updates are not forthcoming.
-
This code is not under any development.