A socket based, real time web framework.

npm install p-framework
1 downloads in the last week
41 downloads in the last month


The P Framework is a real time web framework written in Node.js. It utilizes modern HTML5 technology, including WebSockets to provide a fast, sleek web app experience. For more information, please visit http://thepframework.com. You can also watch a tutorial.

Build Status


The latest stable release of P has been documented at http://docs.thepframework.com/. Documentation is still a work in progress, but this is the best place to start if you want to learn about P.


  • The easiest way to get up and running with P is by using NPM:

    sudo npm install -g p-framework
  • If you would like the latest stable version of P, use this NPM command:

    sudo npm install -g p-framework@1.0.0
  • You can download the latest copy of P from thepframework.com.


After installing P with NPM, you can set up a blank slate by running:

p engage /path/to/your/project

To run the P server, execute the following commands:

cd /path/to/your/project
npm start


P is in desperate need of developer feedback, work, etc. We try to keep this project updated with active Issues in the framework, but that is not, by any means, everything wrong with P. There are a few things you can do as a developer...

Fork P

Before you do anything, fork your own copy of P. This will prevent code conflicts and allow you to use Pull Requests.

Take an existing case

If you'd like to take an existing case from the Issues page, just pick one, read it over, and write the code in a branch. Typically, we create a branch corresponding to the issue number. If you're working on issue #2, for example, you might make a branch called issue2.

Submit your own case

If you think something is wrong or needs to be changed with the framework, make your own Issue on the Issues page. Please be sure to add a detailed description of what is wrong, and what you plan to do to fix it. This will make approving your pull request a lot easier! Like above, work on your change in a branch corresponding to your issue number.

Pull requests

Once you've added a change, please submit a pull request. We'll look over your code, make sure you didn't embed any bombs or angry demons, and then merge your changes into the master branch.

Unit Tests

If applicable, please create Unit Tests for your code in the test directory. If you don't feel comfortable doing this for some reason, just note it in your issue, and someone else will do it for you if necessary. Also, you may want to install nodeunit so that you can run the existing unit tests before submitting your pull request.

sudo npm install -g nodeunit

To run the tests:

cd /path/to/p
nodeunit test/*

Note: If your code causes unit tests to fail, this will almost certainly result in your Pull Request being rejected. Please at least run the tests before submitting!


Jesse Dunlap


Special thanks goes out to these developers for making P possible. You guys are awesome!

Quick Note: Development has been going so fast that I haven't had time to update this list. I am very, very sorry to all the developers I'm not giving credit for. I encourage everyone to check out the package.json file, which is a true credits section for everyone's work. Thank you all so very much for making P a possibility!


P is released under the MIT License. For more information, please see LICENSE.md

npm loves you