{"action":"closed","number":61,"pull_request":{"url":"https://api.github.com/repos/fsprojects/IfSharp/pulls/61","id":65954933,"html_url":"https://github.com/fsprojects/IfSharp/pull/61","diff_url":"https://github.com/fsprojects/IfSharp/pull/61.diff","patch_url":"https://github.com/fsprojects/IfSharp/pull/61.patch","issue_url":"https://api.github.com/repos/fsprojects/IfSharp/issues/61","number":61,"state":"closed","locked":false,"title":"Proposed way to include packages like XPlot and FSCharting ","user":{"login":"npmurphy","id":4847925,"avatar_url":"https://avatars.githubusercontent.com/u/4847925?v=3","gravatar_id":"","url":"https://api.github.com/users/npmurphy","html_url":"https://github.com/npmurphy","followers_url":"https://api.github.com/users/npmurphy/followers","following_url":"https://api.github.com/users/npmurphy/following{/other_user}","gists_url":"https://api.github.com/users/npmurphy/gists{/gist_id}","starred_url":"https://api.github.com/users/npmurphy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/npmurphy/subscriptions","organizations_url":"https://api.github.com/users/npmurphy/orgs","repos_url":"https://api.github.com/users/npmurphy/repos","events_url":"https://api.github.com/users/npmurphy/events{/privacy}","received_events_url":"https://api.github.com/users/npmurphy/received_events","type":"User","site_admin":false},"body":"Bug #53 seems to be caused by incompatible .Net versions.\r\nBug #52 is caused by hard coding a specific version of FSCharting into IfSharp. \r\n\r\nThis pull request is a suggestion to fix both these problems by using Paket in the installation directory.\r\nPaket can provide the correct version of the libraries for the users framework as well as the latest versions via nuget or github. \r\n\r\nThis also acts as a kind of light-weight plugin system. To add support for a new library one adds it to the paket.dependancies file and adds an fsx script to load the dlls and add helper functions. \r\n\r\nI have demonstrated the idea in this PR with XPlot.Plotly. \r\n\r\nThe user runs `#load XPlot.Plotly.fsx` in their notebook (similar to  `%matplotlib inline` in IPython) and the namespace is populated with the functions needed to use XPlot.Plotly (`InitialiseNotebook` and `Show`).\r\n\r\nAfter IfSharp installation the user should run `./paket/paket.bootstrapper.exe` from their installation directory. \r\nThen  `paket.exe install` to download the latest packages to their installation folder. \r\nIn future these commands could be run automatically on the first run of `ifsharp.exe` or some \"magic\" `%paket` commands could be added to the IfSharp Kernel. \r\n\r\nI have also prepared a similar solution for FSCharting, the library has been removed from the Kernel and is added back to the kernel at runtime by an fsx script.\r\n","created_at":"2016-04-11T08:15:20Z","updated_at":"2016-05-06T12:46:34Z","closed_at":"2016-05-06T12:46:34Z","merged_at":"2016-05-06T12:46:34Z","merge_commit_sha":"a820062b0e08171c93395a1b87572d0dc810962b","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/fsprojects/IfSharp/pulls/61/commits","review_comments_url":"https://api.github.com/repos/fsprojects/IfSharp/pulls/61/comments","review_comment_url":"https://api.github.com/repos/fsprojects/IfSharp/pulls/comments{/number}","comments_url":"https://api.github.com/repos/fsprojects/IfSharp/issues/61/comments","statuses_url":"https://api.github.com/repos/fsprojects/IfSharp/statuses/b67505da07acf29eeabfca9c8f3304d399f0a17d","head":{"label":"npmurphy:xplot","ref":"xplot","sha":"b67505da07acf29eeabfca9c8f3304d399f0a17d","user":{"login":"npmurphy","id":4847925,"avatar_url":"https://avatars.githubusercontent.com/u/4847925?v=3","gravatar_id":"","url":"https://api.github.com/users/npmurphy","html_url":"https://github.com/npmurphy","followers_url":"https://api.github.com/users/npmurphy/followers","following_url":"https://api.github.com/users/npmurphy/following{/other_user}","gists_url":"https://api.github.com/users/npmurphy/gists{/gist_id}","starred_url":"https://api.github.com/users/npmurphy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/npmurphy/subscriptions","organizations_url":"https://api.github.com/users/npmurphy/orgs","repos_url":"https://api.github.com/users/npmurphy/repos","events_url":"https://api.github.com/users/npmurphy/events{/privacy}","received_events_url":"https://api.github.com/users/npmurphy/received_events","type":"User","site_admin":false},"repo":{"id":33675914,"name":"IfSharp","full_name":"npmurphy/IfSharp","owner":{"login":"npmurphy","id":4847925,"avatar_url":"https://avatars.githubusercontent.com/u/4847925?v=3","gravatar_id":"","url":"https://api.github.com/users/npmurphy","html_url":"https://github.com/npmurphy","followers_url":"https://api.github.com/users/npmurphy/followers","following_url":"https://api.github.com/users/npmurphy/following{/other_user}","gists_url":"https://api.github.com/users/npmurphy/gists{/gist_id}","starred_url":"https://api.github.com/users/npmurphy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/npmurphy/subscriptions","organizations_url":"https://api.github.com/users/npmurphy/orgs","repos_url":"https://api.github.com/users/npmurphy/repos","events_url":"https://api.github.com/users/npmurphy/events{/privacy}","received_events_url":"https://api.github.com/users/npmurphy/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/npmurphy/IfSharp","description":"F# Profile for iPython Notebook 1.x and 2.x","fork":true,"url":"https://api.github.com/repos/npmurphy/IfSharp","forks_url":"https://api.github.com/repos/npmurphy/IfSharp/forks","keys_url":"https://api.github.com/repos/npmurphy/IfSharp/keys{/key_id}","collaborators_url":"https://api.github.com/repos/npmurphy/IfSharp/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/npmurphy/IfSharp/teams","hooks_url":"https://api.github.com/repos/npmurphy/IfSharp/hooks","issue_events_url":"https://api.github.com/repos/npmurphy/IfSharp/issues/events{/number}","events_url":"https://api.github.com/repos/npmurphy/IfSharp/events","assignees_url":"https://api.github.com/repos/npmurphy/IfSharp/assignees{/user}","branches_url":"https://api.github.com/repos/npmurphy/IfSharp/branches{/branch}","tags_url":"https://api.github.com/repos/npmurphy/IfSharp/tags","blobs_url":"https://api.github.com/repos/npmurphy/IfSharp/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/npmurphy/IfSharp/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/npmurphy/IfSharp/git/refs{/sha}","trees_url":"https://api.github.com/repos/npmurphy/IfSharp/git/trees{/sha}","statuses_url":"https://api.github.com/repos/npmurphy/IfSharp/statuses/{sha}","languages_url":"https://api.github.com/repos/npmurphy/IfSharp/languages","stargazers_url":"https://api.github.com/repos/npmurphy/IfSharp/stargazers","contributors_url":"https://api.github.com/repos/npmurphy/IfSharp/contributors","subscribers_url":"https://api.github.com/repos/npmurphy/IfSharp/subscribers","subscription_url":"https://api.github.com/repos/npmurphy/IfSharp/subscription","commits_url":"https://api.github.com/repos/npmurphy/IfSharp/commits{/sha}","git_commits_url":"https://api.github.com/repos/npmurphy/IfSharp/git/commits{/sha}","comments_url":"https://api.github.com/repos/npmurphy/IfSharp/comments{/number}","issue_comment_url":"https://api.github.com/repos/npmurphy/IfSharp/issues/comments{/number}","contents_url":"https://api.github.com/repos/npmurphy/IfSharp/contents/{+path}","compare_url":"https://api.github.com/repos/npmurphy/IfSharp/compare/{base}...{head}","merges_url":"https://api.github.com/repos/npmurphy/IfSharp/merges","archive_url":"https://api.github.com/repos/npmurphy/IfSharp/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/npmurphy/IfSharp/downloads","issues_url":"https://api.github.com/repos/npmurphy/IfSharp/issues{/number}","pulls_url":"https://api.github.com/repos/npmurphy/IfSharp/pulls{/number}","milestones_url":"https://api.github.com/repos/npmurphy/IfSharp/milestones{/number}","notifications_url":"https://api.github.com/repos/npmurphy/IfSharp/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/npmurphy/IfSharp/labels{/name}","releases_url":"https://api.github.com/repos/npmurphy/IfSharp/releases{/id}","deployments_url":"https://api.github.com/repos/npmurphy/IfSharp/deployments","created_at":"2015-04-09T15:10:46Z","updated_at":"2016-03-23T23:07:46Z","pushed_at":"2016-05-05T22:19:18Z","git_url":"git://github.com/npmurphy/IfSharp.git","ssh_url":"git@github.com:npmurphy/IfSharp.git","clone_url":"https://github.com/npmurphy/IfSharp.git","svn_url":"https://github.com/npmurphy/IfSharp","homepage":"","size":6464,"stargazers_count":0,"watchers_count":0,"language":"Jupyter Notebook","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":2,"mirror_url":null,"open_issues_count":0,"forks":2,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"fsprojects:jupyter","ref":"jupyter","sha":"20b8f4b1cea3ea77df2396c5e93340223d257cf4","user":{"login":"fsprojects","id":6001315,"avatar_url":"https://avatars.githubusercontent.com/u/6001315?v=3","gravatar_id":"","url":"https://api.github.com/users/fsprojects","html_url":"https://github.com/fsprojects","followers_url":"https://api.github.com/users/fsprojects/followers","following_url":"https://api.github.com/users/fsprojects/following{/other_user}","gists_url":"https://api.github.com/users/fsprojects/gists{/gist_id}","starred_url":"https://api.github.com/users/fsprojects/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fsprojects/subscriptions","organizations_url":"https://api.github.com/users/fsprojects/orgs","repos_url":"https://api.github.com/users/fsprojects/repos","events_url":"https://api.github.com/users/fsprojects/events{/privacy}","received_events_url":"https://api.github.com/users/fsprojects/received_events","type":"Organization","site_admin":false},"repo":{"id":14906267,"name":"IfSharp","full_name":"fsprojects/IfSharp","owner":{"login":"fsprojects","id":6001315,"avatar_url":"https://avatars.githubusercontent.com/u/6001315?v=3","gravatar_id":"","url":"https://api.github.com/users/fsprojects","html_url":"https://github.com/fsprojects","followers_url":"https://api.github.com/users/fsprojects/followers","following_url":"https://api.github.com/users/fsprojects/following{/other_user}","gists_url":"https://api.github.com/users/fsprojects/gists{/gist_id}","starred_url":"https://api.github.com/users/fsprojects/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fsprojects/subscriptions","organizations_url":"https://api.github.com/users/fsprojects/orgs","repos_url":"https://api.github.com/users/fsprojects/repos","events_url":"https://api.github.com/users/fsprojects/events{/privacy}","received_events_url":"https://api.github.com/users/fsprojects/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/fsprojects/IfSharp","description":"F# Profile for iPython Notebook 1.x and 2.x","fork":false,"url":"https://api.github.com/repos/fsprojects/IfSharp","forks_url":"https://api.github.com/repos/fsprojects/IfSharp/forks","keys_url":"https://api.github.com/repos/fsprojects/IfSharp/keys{/key_id}","collaborators_url":"https://api.github.com/repos/fsprojects/IfSharp/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/fsprojects/IfSharp/teams","hooks_url":"https://api.github.com/repos/fsprojects/IfSharp/hooks","issue_events_url":"https://api.github.com/repos/fsprojects/IfSharp/issues/events{/number}","events_url":"https://api.github.com/repos/fsprojects/IfSharp/events","assignees_url":"https://api.github.com/repos/fsprojects/IfSharp/assignees{/user}","branches_url":"https://api.github.com/repos/fsprojects/IfSharp/branches{/branch}","tags_url":"https://api.github.com/repos/fsprojects/IfSharp/tags","blobs_url":"https://api.github.com/repos/fsprojects/IfSharp/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/fsprojects/IfSharp/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/fsprojects/IfSharp/git/refs{/sha}","trees_url":"https://api.github.com/repos/fsprojects/IfSharp/git/trees{/sha}","statuses_url":"https://api.github.com/repos/fsprojects/IfSharp/statuses/{sha}","languages_url":"https://api.github.com/repos/fsprojects/IfSharp/languages","stargazers_url":"https://api.github.com/repos/fsprojects/IfSharp/stargazers","contributors_url":"https://api.github.com/repos/fsprojects/IfSharp/contributors","subscribers_url":"https://api.github.com/repos/fsprojects/IfSharp/subscribers","subscription_url":"https://api.github.com/repos/fsprojects/IfSharp/subscription","commits_url":"https://api.github.com/repos/fsprojects/IfSharp/commits{/sha}","git_commits_url":"https://api.github.com/repos/fsprojects/IfSharp/git/commits{/sha}","comments_url":"https://api.github.com/repos/fsprojects/IfSharp/comments{/number}","issue_comment_url":"https://api.github.com/repos/fsprojects/IfSharp/issues/comments{/number}","contents_url":"https://api.github.com/repos/fsprojects/IfSharp/contents/{+path}","compare_url":"https://api.github.com/repos/fsprojects/IfSharp/compare/{base}...{head}","merges_url":"https://api.github.com/repos/fsprojects/IfSharp/merges","archive_url":"https://api.github.com/repos/fsprojects/IfSharp/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/fsprojects/IfSharp/downloads","issues_url":"https://api.github.com/repos/fsprojects/IfSharp/issues{/number}","pulls_url":"https://api.github.com/repos/fsprojects/IfSharp/pulls{/number}","milestones_url":"https://api.github.com/repos/fsprojects/IfSharp/milestones{/number}","notifications_url":"https://api.github.com/repos/fsprojects/IfSharp/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/fsprojects/IfSharp/labels{/name}","releases_url":"https://api.github.com/repos/fsprojects/IfSharp/releases{/id}","deployments_url":"https://api.github.com/repos/fsprojects/IfSharp/deployments","created_at":"2013-12-03T21:25:01Z","updated_at":"2016-05-02T21:12:05Z","pushed_at":"2016-05-06T12:46:34Z","git_url":"git://github.com/fsprojects/IfSharp.git","ssh_url":"git@github.com:fsprojects/IfSharp.git","clone_url":"https://github.com/fsprojects/IfSharp.git","svn_url":"https://github.com/fsprojects/IfSharp","homepage":"","size":6455,"stargazers_count":124,"watchers_count":124,"language":"Jupyter Notebook","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":26,"mirror_url":null,"open_issues_count":24,"forks":26,"open_issues":24,"watchers":124,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/fsprojects/IfSharp/pulls/61"},"html":{"href":"https://github.com/fsprojects/IfSharp/pull/61"},"issue":{"href":"https://api.github.com/repos/fsprojects/IfSharp/issues/61"},"comments":{"href":"https://api.github.com/repos/fsprojects/IfSharp/issues/61/comments"},"review_comments":{"href":"https://api.github.com/repos/fsprojects/IfSharp/pulls/61/comments"},"review_comment":{"href":"https://api.github.com/repos/fsprojects/IfSharp/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/fsprojects/IfSharp/pulls/61/commits"},"statuses":{"href":"https://api.github.com/repos/fsprojects/IfSharp/statuses/b67505da07acf29eeabfca9c8f3304d399f0a17d"}},"merged":true,"mergeable":null,"mergeable_state":"unknown","merged_by":{"login":"cgravill","id":1099725,"avatar_url":"https://avatars.githubusercontent.com/u/1099725?v=3","gravatar_id":"","url":"https://api.github.com/users/cgravill","html_url":"https://github.com/cgravill","followers_url":"https://api.github.com/users/cgravill/followers","following_url":"https://api.github.com/users/cgravill/following{/other_user}","gists_url":"https://api.github.com/users/cgravill/gists{/gist_id}","starred_url":"https://api.github.com/users/cgravill/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cgravill/subscriptions","organizations_url":"https://api.github.com/users/cgravill/orgs","repos_url":"https://api.github.com/users/cgravill/repos","events_url":"https://api.github.com/users/cgravill/events{/privacy}","received_events_url":"https://api.github.com/users/cgravill/received_events","type":"User","site_admin":false},"comments":6,"review_comments":1,"commits":8,"additions":80,"deletions":25,"changed_files":11}}