{"action":"created","issue":{"url":"https://api.github.com/repos/psi4/psi4/issues/468","repository_url":"https://api.github.com/repos/psi4/psi4","labels_url":"https://api.github.com/repos/psi4/psi4/issues/468/labels{/name}","comments_url":"https://api.github.com/repos/psi4/psi4/issues/468/comments","events_url":"https://api.github.com/repos/psi4/psi4/issues/468/events","html_url":"https://github.com/psi4/psi4/issues/468","id":177905509,"number":468,"title":"Upcoming Psi4 changes","user":{"login":"dgasmith","id":1769841,"avatar_url":"https://avatars.githubusercontent.com/u/1769841?v=3","gravatar_id":"","url":"https://api.github.com/users/dgasmith","html_url":"https://github.com/dgasmith","followers_url":"https://api.github.com/users/dgasmith/followers","following_url":"https://api.github.com/users/dgasmith/following{/other_user}","gists_url":"https://api.github.com/users/dgasmith/gists{/gist_id}","starred_url":"https://api.github.com/users/dgasmith/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dgasmith/subscriptions","organizations_url":"https://api.github.com/users/dgasmith/orgs","repos_url":"https://api.github.com/users/dgasmith/repos","events_url":"https://api.github.com/users/dgasmith/events{/privacy}","received_events_url":"https://api.github.com/users/dgasmith/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/psi4/psi4/labels/enhancement","name":"enhancement","color":"84b6eb"}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/psi4/psi4/milestones/2","html_url":"https://github.com/psi4/psi4/milestones/1.1.0","labels_url":"https://api.github.com/repos/psi4/psi4/milestones/2/labels","id":1623094,"number":2,"title":"1.1.0","description":"A list of issues that should be cleared before 1.1.0 is released.","creator":{"login":"dgasmith","id":1769841,"avatar_url":"https://avatars.githubusercontent.com/u/1769841?v=3","gravatar_id":"","url":"https://api.github.com/users/dgasmith","html_url":"https://github.com/dgasmith","followers_url":"https://api.github.com/users/dgasmith/followers","following_url":"https://api.github.com/users/dgasmith/following{/other_user}","gists_url":"https://api.github.com/users/dgasmith/gists{/gist_id}","starred_url":"https://api.github.com/users/dgasmith/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dgasmith/subscriptions","organizations_url":"https://api.github.com/users/dgasmith/orgs","repos_url":"https://api.github.com/users/dgasmith/repos","events_url":"https://api.github.com/users/dgasmith/events{/privacy}","received_events_url":"https://api.github.com/users/dgasmith/received_events","type":"User","site_admin":false},"open_issues":8,"closed_issues":4,"state":"open","created_at":"2016-03-04T20:40:30Z","updated_at":"2016-10-19T22:18:57Z","due_on":"2016-12-31T05:00:00Z","closed_at":null},"comments":45,"created_at":"2016-09-19T21:39:35Z","updated_at":"2016-10-23T22:23:41Z","closed_at":null,"body":"Greeting friends,\r\nAs you may have heard we are in the process of several fundamental Psi4 change. These include: rewriting the build system, removing Boost from Psi4, the \"inversion\", and a history rewrite. Read below for summaries of each step and where to find more detailed information. If you have any questions please ask them here or email us directly.\r\n\r\nSteps\r\n--\r\n**Build system:**\r\nThe build system has moved to a \"super build\" strategy which reduces total compilation time and makes it much easier to add additional external libraries in the future. Developers will also see a reduction in the amount of time it takes to compile internal Psi4 changes and Psi4 can now link all external dependancies (libint for examples). Note that much of the github wiki on building psi4 is now plain wrong. Consult the top-level CMakeLists.txt to get building again. See [here](https://github.com/psi4/psi4/pull/442) for more information. \r\n\r\n\r\n**Boost:**\r\nMuch of the Boost functionality that we have depended on in Psi4 has been implemented in C++11. In order to keep Psi4 up to date with best C++11 practices, reduce complexity, and generally remove several headaches, Boost has been removed from Psi4. The C++ Python bindings have been moved to PyBind11. See [here](https://github.com/psi4/psi4/issues/450) for more information.\r\n\r\n**Inversion:**\r\nCurrently the hybrid Python/C++ architecture of Psi4 is in an odd spot where Psi4 itself is a C++ program that calls an input file as a Python executable. This circular process will be removed and Psi4 itself will become a Python library capable of being imported just like any other module. This will allow Psi4 to be used in a normal python workflow with other scientific python programs like OpenMM, iPython, MolDesign, etc. In addition, python-based error messages will be more expressive and accurate. For users who enjoy the current Psithon interface the current Psi4 Psithon parsing equipment will be moved to a script named \"psi4\" in the binary location. This will allow all current Psi4 input files to be run normally.\r\n\r\n**History rewrite:**\r\nOver time the Psi4 git repository has accumulated many large files (mostly boost binaries) that are not currently used; however, they still exists within the repository and are downloaded every time the repository is cloned. This has caused Psi4 to balloon to approximately 650MB, while only about 65MB of that is currently used. In order to reduce the repository size, these files will be removed from history. When this occurs **_all_** current Psi4 clones **_and_** forks will become invalid. These will need to be deleted and reforked/recloned. \r\n\r\nSchedule\r\n--\r\nWe are currently planning to merge in the Boost removal and build system changes in the next day or so. It should be noted that while core Psi4 is stable, external projects such as ChemPS2 and EFP may not work. The build systems has also only seen compilation on half a dozen architectures and setups, you may encounter errors in the build process. A new branch named 1.0.x maintenance has been created that contains a stable and updated version of the 1.0 release. In effect, this means that the master branch will no longer be 100% stable for anything beyond \"core\" Psi4 as defined by quicktests. \r\n\r\nIf you have changes to the Psi4 source code you will either need to rebase the CMake/build system change (hint: this is _not_ the occasion to learn to rebase) or rewrite these files by looking at a diff between the new version and your current version. A rebase of this patch is a considerable time investment with many small technical details, please contact us to help you if you decide to go this route. We will be contacting the authors of all current PR’s to help them with the transition.\r\n\r\nThe inversion and history rewrite will take place on October 17th. Again, all forks and clones will need to be removed at this point as they will no longer be valid. Let us know if you need additional time to rebase in a change.\r\n\r\nSummary\r\n--\r\n\r\nChanges for developers:\r\n- **WARNING!** All clones and forks will need to be removed when the history rewrite occurs on October 17th. This means any current work on Psi4 will no longer be able to be merged. If you need additional time let us know ASAP!\r\n- The build system has not been extensively tested, please try it out and report bugs.\r\n- There is a completely new directory structure.\r\n- No more Boost in core Psi4.\r\n- Some external libraries may not work at current.\r\n- Plugin structure is still fluid.\r\n- GCC 4.9 is required due to C++11 regex. Keep in mind that ICC requires GCC.\r\n\r\nChanges for users:\r\n- If you use any of the pre-compiled options nothing will likely change in your everyday workflow.\r\n- If you compile Psi4 yourself, these changes will require a completely fresh compile. The build script has moved away from setup.py to a pure CMake input.\r\n- After the inversion you will still have the option to use standard \"Psithon\" inputs or to import psi4 as a Python module.\r\n\r\nProgress (master branch)\r\n--\r\n\r\n- [x] CMake Rewrite\r\n- [x] Kill the boost\r\n- [x] Inversion\r\n- [x] History rewrite\r\n- [ ] Official 1.1 release\r\n\r\n--\r\nSincerely,\r\n- Lori, Jet, Andy, and Daniel"},"comment":{"url":"https://api.github.com/repos/psi4/psi4/issues/comments/255618905","html_url":"https://github.com/psi4/psi4/issues/468#issuecomment-255618905","issue_url":"https://api.github.com/repos/psi4/psi4/issues/468","id":255618905,"user":{"login":"jgonthier","id":7104605,"avatar_url":"https://avatars.githubusercontent.com/u/7104605?v=3","gravatar_id":"","url":"https://api.github.com/users/jgonthier","html_url":"https://github.com/jgonthier","followers_url":"https://api.github.com/users/jgonthier/followers","following_url":"https://api.github.com/users/jgonthier/following{/other_user}","gists_url":"https://api.github.com/users/jgonthier/gists{/gist_id}","starred_url":"https://api.github.com/users/jgonthier/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jgonthier/subscriptions","organizations_url":"https://api.github.com/users/jgonthier/orgs","repos_url":"https://api.github.com/users/jgonthier/repos","events_url":"https://api.github.com/users/jgonthier/events{/privacy}","received_events_url":"https://api.github.com/users/jgonthier/received_events","type":"User","site_admin":false},"created_at":"2016-10-23T22:23:41Z","updated_at":"2016-10-23T22:23:41Z","body":"Any plan on what's going to happen to the private branch ?"}}
{"actor":{"display_login":"jgonthier"}}