-
Notifications
You must be signed in to change notification settings - Fork 435
1_Obtaining
STOP! This page is out-of-date and is superseded by the docs
###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:
- 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 or Mac. Goto Binary
-
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
-
I want to develop using Psi4 infrastructure and libraries, not on them; I think a plugin might do.
-
I've got a Psi4 compilation. Use it, then consult plugins
-
I'd rather not compile Psi4 or I don't have compilers Goto Binary then consult plugins through conda
-
-
-
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
-
-
Just go to [http://www.psicode.org/downloads.html] and follow the instructions there.
-
Not applicable as binary is pre-built.
-
conda update psi4
* ##### Contribute Back
Not applicable as not under git control.
---
### <a name="clonepsi4public"></a>Clone from Public GitHub Repository
* ##### Get Initially
The Psi4 repository at https://github.com/psi4/psi4 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/psi4.git
>>> cd psi4
# this is your $top-level-psi4-dir
git pull 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
---
### <a name="forkpsi4public"></a>Fork from Public GitHub Repository
* ##### Get Initially
Go to https://github.com/psi4/psi4, and hit the [Fork](https://help.github.com/articles/fork-a-repo/) button to store a Psi4 repository in your GitHub account. Locally, proceed to clone:
```bash
# replace johndoe
# use https or ssh
>>> git clone --recursive https://github.com/johndoe/psi4.git
>>> cd psi4
# 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/psi4.git
-
Locally, update your fork from the parent repository and store on GitHub at your fork.
git fetch upstream git rebase upstream/master git push origin working_branch
Remember: Working in the master branch of a fork is considered bad practice.
* ##### 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/). Psi4 [contributions](https://github.com/psi4/psi4/blob/master/CONTRIBUTING.md) process.
---
### <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. psi4private/master should never be modified by humans.
git pull origin master git fetch upstream git merge upstream/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.