|
1 | | -# Pebble Development Platform (PDP) |
| 1 | +# CodePod: A Hierarchical IDE for Interactive Development at Scale |
2 | 2 |
|
3 | | -# Dev notes |
| 3 | + |
| 4 | +# Installation |
| 5 | + |
| 6 | +Binary release available for Linux and MacOS. See release page. |
| 7 | + |
| 8 | +For Debian/Ubuntu: |
4 | 9 |
|
5 | 10 | ``` |
6 | | -docker stop $(docker ps -a | grep cpkernel_ | awk '{print $1}') |
7 | | -docker rm $(docker ps -a | grep cpkernel_ | awk '{print $1}') |
| 11 | +sudo dpkg -i codepod_0.1.0_amd64.deb |
8 | 12 | ``` |
9 | 13 |
|
10 | | -# Intro |
| 14 | +On Mac, use the `codepod_0.1.0_arm64.dmg` image (for M1 Macs with Apple Sillicon). |
| 15 | + |
| 16 | +You can run `codepod` either in application launcher or through the `codepod` command line tool. |
11 | 17 |
|
12 | | -The app contains the front-end (ui) and the back-end (api). To run, start both: |
| 18 | +# Install Jupyter kernels |
| 19 | + |
| 20 | +These kernels are Jupyter kernels. CodePod should detect them and work as long |
| 21 | +as they are properly installed to work in Jupyter. |
| 22 | + |
| 23 | +## python |
| 24 | + |
| 25 | +CodePod uses `ast.unparse` to analyze whether the last expression is an expression or statement. This function is only available in python 3.9 or after. To install python3.9: |
13 | 26 |
|
14 | 27 | ``` |
15 | | -cd api && docker-compose up -d |
16 | | -cd api && yarn dev |
17 | | -cd ui && yarn start |
18 | | -cd api && npx prisma studio |
| 28 | +sudo apt install python3.9 |
19 | 29 | ``` |
20 | 30 |
|
21 | | -The portals: |
| 31 | +Install ipykernel: |
| 32 | + |
| 33 | +``` |
| 34 | +python3.9 -m pip install ipykernel |
| 35 | +python3.9 -m ipykernel install --user |
| 36 | +``` |
22 | 37 |
|
23 | | -- http://localhost:4000/graphq |
24 | | -- http://localhost:3000 is the web UI |
25 | | -- https://studio.apollographql.com/dev |
26 | | -- The db admin page is http://localhost:8080 |
| 38 | +## racket |
27 | 39 |
|
28 | | -- A docker compose file to specify the |
29 | | - - db server |
30 | | - - volume |
31 | | - - backup server & volume |
| 40 | +Install on Ubuntu: |
32 | 41 |
|
33 | | -# Wiki |
| 42 | +``` |
| 43 | +sudo add-apt-repository ppa:plt/racket |
| 44 | +sudo apt-get update |
| 45 | +sudo apt install racket |
| 46 | +``` |
34 | 47 |
|
35 | | -## neo4j |
| 48 | +Install zmq: |
36 | 49 |
|
37 | | -delete all: |
| 50 | +``` |
| 51 | +brew install zmq |
| 52 | +sudo apt install libzmq5 |
| 53 | +``` |
38 | 54 |
|
39 | | -```cypher |
40 | | -MATCH (n) |
41 | | -DETACH DELETE n |
| 55 | +``` |
| 56 | +raco pkg install --auto iracket |
| 57 | +raco iracket install |
42 | 58 | ``` |
43 | 59 |
|
44 | | -add unique constraints |
| 60 | +On mac, zeromq lib cannot be found by racket due to [a known |
| 61 | +issue](https://github.com/rmculpepper/racket-zeromq/issues/6). To side-step it |
| 62 | +(replace the version numbers with your installation): |
45 | 63 |
|
46 | 64 | ``` |
47 | | -CREATE CONSTRAINT constraint_name ON (book:Book) ASSERT book.isbn IS UNIQUE |
| 65 | +cp /opt/homebrew/Cellar/zeromq/4.3.4/lib/libzmq.5.dylib ~/Library/Racket/8.2/lib |
48 | 66 | ``` |
49 | 67 |
|
50 | | -For the users: |
| 68 | +## julia |
| 69 | + |
| 70 | +Install julia from the official binaries. On Ubuntu: |
51 | 71 |
|
52 | 72 | ``` |
53 | | -CREATE CONSTRAINT username ON (u:User) ASSERT u.username IS UNIQUE |
54 | | -CREATE CONSTRAINT email ON (u:User) ASSERT u.email IS UNIQUE |
| 73 | +curl -O https://julialang-s3.julialang.org/bin/linux/x64/1.6/julia-1.6.4-linux-x86_64.tar.gz |
| 74 | +tar -xvzf julia-1.6.4-linux-x86_64.tar.gz |
| 75 | +sudo mv julia-1.6.4/ /opt/ |
| 76 | +sudo ln -s /opt/julia-1.6.4/bin/julia /usr/local/bin/julia |
55 | 77 | ``` |
56 | 78 |
|
57 | | -Show constraints: |
| 79 | +<!-- |
| 80 | +``` |
| 81 | +julia |
| 82 | +]add add IJulia |
| 83 | +import IJulia |
| 84 | +IJulia.installkernel("Julia nodeps", "--depwarn=no") |
| 85 | +``` |
| 86 | +
|
| 87 | +Or just --> |
| 88 | + |
| 89 | +Install kernel: |
| 90 | + |
| 91 | +``` |
| 92 | +julia -e 'import Pkg; Pkg.add("IJulia"); using IJulia; installkernel("Julia nodeps", "--depwarn=no")' |
| 93 | +``` |
| 94 | + |
| 95 | +## Javascript |
58 | 96 |
|
59 | 97 | ``` |
60 | | -SHOW CONSTRAINTS |
| 98 | +npm install -g ijavascript |
| 99 | +ijsinstall |
61 | 100 | ``` |
62 | 101 |
|
63 | | -## RabbitMQ |
64 | 102 |
|
65 | | -- over websocket https://www.rabbitmq.com/web-stomp.html |
66 | | -- the client document http://jmesnil.net/stomp-websocket/doc/ |
67 | | -- docker image: https://registry.hub.docker.com/_/rabbitmq/ |
| 103 | +# Development Scripts |
| 104 | + |
| 105 | +Develop |
| 106 | + |
| 107 | +``` |
| 108 | +cd app |
| 109 | +npm run dev |
| 110 | +``` |
| 111 | + |
| 112 | +Build: |
| 113 | + |
| 114 | +``` |
| 115 | +cd app |
| 116 | +npm run build:all |
| 117 | +``` |
0 commit comments