Bipin Krishnan commited on
Commit
bfaf2ba
·
1 Parent(s): 7fa8ff9

added urls and main page

Browse files
Files changed (12) hide show
  1. .gitignore +129 -0
  2. .streamlit/config.toml +3 -0
  3. LICENSE +21 -0
  4. README.md +1 -1
  5. app.py +34 -0
  6. requirements.txt +2 -0
  7. urls/learning_resources +42 -0
  8. urls/quick_tips +9 -0
  9. urls/threads +33 -0
  10. urls/tools +17 -0
  11. urls/updates +10 -0
  12. utils.py +29 -0
.gitignore ADDED
@@ -0,0 +1,129 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Byte-compiled / optimized / DLL files
2
+ __pycache__/
3
+ *.py[cod]
4
+ *$py.class
5
+
6
+ # C extensions
7
+ *.so
8
+
9
+ # Distribution / packaging
10
+ .Python
11
+ build/
12
+ develop-eggs/
13
+ dist/
14
+ downloads/
15
+ eggs/
16
+ .eggs/
17
+ lib/
18
+ lib64/
19
+ parts/
20
+ sdist/
21
+ var/
22
+ wheels/
23
+ pip-wheel-metadata/
24
+ share/python-wheels/
25
+ *.egg-info/
26
+ .installed.cfg
27
+ *.egg
28
+ MANIFEST
29
+
30
+ # PyInstaller
31
+ # Usually these files are written by a python script from a template
32
+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
33
+ *.manifest
34
+ *.spec
35
+
36
+ # Installer logs
37
+ pip-log.txt
38
+ pip-delete-this-directory.txt
39
+
40
+ # Unit test / coverage reports
41
+ htmlcov/
42
+ .tox/
43
+ .nox/
44
+ .coverage
45
+ .coverage.*
46
+ .cache
47
+ nosetests.xml
48
+ coverage.xml
49
+ *.cover
50
+ *.py,cover
51
+ .hypothesis/
52
+ .pytest_cache/
53
+
54
+ # Translations
55
+ *.mo
56
+ *.pot
57
+
58
+ # Django stuff:
59
+ *.log
60
+ local_settings.py
61
+ db.sqlite3
62
+ db.sqlite3-journal
63
+
64
+ # Flask stuff:
65
+ instance/
66
+ .webassets-cache
67
+
68
+ # Scrapy stuff:
69
+ .scrapy
70
+
71
+ # Sphinx documentation
72
+ docs/_build/
73
+
74
+ # PyBuilder
75
+ target/
76
+
77
+ # Jupyter Notebook
78
+ .ipynb_checkpoints
79
+
80
+ # IPython
81
+ profile_default/
82
+ ipython_config.py
83
+
84
+ # pyenv
85
+ .python-version
86
+
87
+ # pipenv
88
+ # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
89
+ # However, in case of collaboration, if having platform-specific dependencies or dependencies
90
+ # having no cross-platform support, pipenv may install dependencies that don't work, or not
91
+ # install all needed dependencies.
92
+ #Pipfile.lock
93
+
94
+ # PEP 582; used by e.g. github.com/David-OConnor/pyflow
95
+ __pypackages__/
96
+
97
+ # Celery stuff
98
+ celerybeat-schedule
99
+ celerybeat.pid
100
+
101
+ # SageMath parsed files
102
+ *.sage.py
103
+
104
+ # Environments
105
+ .env
106
+ .venv
107
+ env/
108
+ venv/
109
+ ENV/
110
+ env.bak/
111
+ venv.bak/
112
+
113
+ # Spyder project settings
114
+ .spyderproject
115
+ .spyproject
116
+
117
+ # Rope project settings
118
+ .ropeproject
119
+
120
+ # mkdocs documentation
121
+ /site
122
+
123
+ # mypy
124
+ .mypy_cache/
125
+ .dmypy.json
126
+ dmypy.json
127
+
128
+ # Pyre type checker
129
+ .pyre/
.streamlit/config.toml ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ [theme]
2
+ base="dark"
3
+ font="serif"
LICENSE ADDED
@@ -0,0 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ MIT License
2
+
3
+ Copyright (c) 2021 Bipin Krishanan P
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
README.md CHANGED
@@ -1,6 +1,6 @@
1
  ---
2
  title: Mltwitter
3
- emoji: 😻
4
  colorFrom: pink
5
  colorTo: purple
6
  sdk: streamlit
 
1
  ---
2
  title: Mltwitter
3
+ emoji: 📑
4
  colorFrom: pink
5
  colorTo: purple
6
  sdk: streamlit
app.py ADDED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import streamlit as st
2
+ from pathlib import Path
3
+
4
+ from utils import get_tweet, display_page
5
+
6
+ path = Path("urls")
7
+
8
+ st.set_page_config(
9
+ page_title='MLBookmark',
10
+ page_icon='🔖',
11
+ layout='wide',
12
+ initial_sidebar_state='collapsed'
13
+ )
14
+
15
+ st.write('<style>div.row-widget.stRadio > div{flex-direction:row;}</style>', unsafe_allow_html=True)
16
+ option = st.radio(
17
+ label="",
18
+ options=["Learning resources", "Threads", "Quick tips", "Tools", "Updates"]
19
+ )
20
+
21
+ if option.lower()=="learning resources":
22
+ display_page(path/"learning_resources")
23
+
24
+ elif option.lower()=="threads":
25
+ display_page(path/"threads")
26
+
27
+ elif option.lower()=="quick tips":
28
+ display_page(path/"quick_tips")
29
+
30
+ elif option.lower()=="tools":
31
+ display_page(path/"tools")
32
+
33
+ elif option.lower()=="updates":
34
+ display_page(path/"updates")
requirements.txt ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ requests==2.25.1
2
+ streamlit==0.87.0
urls/learning_resources ADDED
@@ -0,0 +1,42 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ https://twitter.com/omarsar0/status/1471465524987060224
2
+ https://twitter.com/ai_fast_track/status/1467532334073323523
3
+ https://twitter.com/omarsar0/status/1470369752316989441
4
+ https://twitter.com/rishabh16_/status/1469176501899644931
5
+ https://twitter.com/iScienceLuvr/status/1471032149100797954
6
+ https://twitter.com/rasbt/status/1469313132820582400
7
+ https://twitter.com/omarsar0/status/1468917926539505665
8
+ https://twitter.com/srush_nlp/status/1467927761075556365
9
+ https://twitter.com/AllenDowney/status/1472657447080890372
10
+ https://twitter.com/omarsar0/status/1472172473282093058
11
+ https://twitter.com/openminedorg/status/1327008283769630720
12
+ https://twitter.com/omarsar0/status/1345021214671122433
13
+ https://twitter.com/eugeneyan/status/1350509546133811200
14
+ https://twitter.com/haltakov/status/1359986920567279619
15
+ https://twitter.com/gneubig/status/1361334830236131333
16
+ https://twitter.com/chris_bour/status/1361733741937385478
17
+ https://twitter.com/svpino/status/1364618938060050438
18
+ https://twitter.com/abhi1thakur/status/1366011087737528321
19
+ https://twitter.com/svlevine/status/1370876669192331265
20
+ https://twitter.com/amaarora/status/1382077963894620160
21
+ https://twitter.com/DeepLearningAI_/status/1387058981588324363
22
+ https://twitter.com/abhi1thakur/status/1422474446019964928
23
+ https://twitter.com/rasbt/status/1424017412157026309
24
+ https://twitter.com/osanseviero/status/1424683524364308497
25
+ https://twitter.com/chaitjo/status/1425389897423069188
26
+ https://twitter.com/iScienceLuvr/status/1429878547317870610
27
+ https://twitter.com/gordic_aleksa/status/1430550010358374402
28
+ https://twitter.com/Ar_Douillard/status/1430938507783151623
29
+ https://twitter.com/DeepMind/status/1435974267112464385
30
+ https://twitter.com/sudalairajkumar/status/1437276942353330179
31
+ https://twitter.com/osanseviero/status/1438054637001654272
32
+ https://twitter.com/abhi1thakur/status/1444226842995658759
33
+ https://twitter.com/labmlai/status/1449301098531983370
34
+ https://twitter.com/gordic_aleksa/status/1454826094591348740
35
+ https://twitter.com/iScienceLuvr/status/1455275852879450113
36
+ https://twitter.com/labmlai/status/1456285417725038593
37
+ https://twitter.com/omarsar0/status/1458048207200657408
38
+ https://twitter.com/iScienceLuvr/status/1462890909729579009
39
+ https://twitter.com/xbresson/status/1463142553142792194
40
+ https://twitter.com/demishassabis/status/1463847857648189442
41
+ https://twitter.com/julsimon/status/1463934344293236741
42
+
urls/quick_tips ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
 
1
+ https://twitter.com/ai_fast_track/status/1461789169651441664
2
+ https://twitter.com/ai_fast_track/status/1456648693969559561
3
+ https://twitter.com/radekosmulski/status/1347872328013778944
4
+ https://twitter.com/svpino/status/1357562849397202944
5
+ https://twitter.com/jeremyphoward/status/1422839996763971585
6
+ https://twitter.com/TheZachMueller/status/1422632529279037440
7
+ https://twitter.com/TheZachMueller/status/1458052748671389698
8
+ https://twitter.com/JennyMaMTL/status/1459568092888145926
9
+
urls/threads ADDED
@@ -0,0 +1,33 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ https://twitter.com/jbhuang0604/status/1472410988322377732
2
+ https://twitter.com/abhi1thakur/status/1471126502112698368
3
+ https://twitter.com/abhi1thakur/status/1470406419786698761
4
+ https://twitter.com/ai_fast_track/status/1469053360481394695
5
+ https://twitter.com/_lewtun/status/1468217734148276229
6
+ https://twitter.com/iScienceLuvr/status/1468115406858514433
7
+ https://twitter.com/ai_fast_track/status/1473048087207759877
8
+ https://twitter.com/ai_fast_track/status/1465773297837215750
9
+ https://twitter.com/ai_fast_track/status/1461440883291787266
10
+ https://twitter.com/ai_fast_track/status/1466998473312677894
11
+ https://twitter.com/ai_fast_track/status/1466440518787813381
12
+ https://twitter.com/ai_fast_track/status/1455214027139862535
13
+ https://twitter.com/ai_fast_track/status/1458493806362378244
14
+ https://twitter.com/ai_fast_track/status/1407333442145206280
15
+ https://twitter.com/svpino/status/1472914695132569603
16
+ https://twitter.com/jbhuang0604/status/1472808608874352641
17
+ https://twitter.com/omarsar0/status/1472120607491899405
18
+ https://twitter.com/Al_Grigor/status/1357799256321581062
19
+ https://twitter.com/abhi1thakur/status/1358481012410490881
20
+ https://twitter.com/Al_Grigor/status/1359148347576242176
21
+ https://twitter.com/abhi1thakur/status/1360954451104829441
22
+ https://twitter.com/svpino/status/1362993047617814529
23
+ https://twitter.com/ammaryh92/status/1418902576003751939
24
+ https://twitter.com/DicksonWuML/status/1420118963036561409
25
+ https://twitter.com/jbhuang0604/status/1433651068282540033
26
+ https://twitter.com/jbhuang0604/status/1437443017510621185
27
+ https://twitter.com/jbhuang0604/status/1423499757591400448
28
+ https://twitter.com/abhi1thakur/status/1444226842995658759
29
+ https://twitter.com/labmlai/status/1450059606923771907
30
+ https://twitter.com/gusthema/status/1456607188277936132
31
+ https://twitter.com/aakashns/status/1456609345467150343
32
+ https://twitter.com/paperswithcode/status/1458433653269205002
33
+
urls/tools ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ https://twitter.com/robmarkcole/status/1466227543212707842
2
+ https://twitter.com/HamelHusain/status/1325877555216314368
3
+ https://twitter.com/abhi1thakur/status/1356568401792143360
4
+ https://twitter.com/amitness/status/1359499078032183311
5
+ https://twitter.com/PyTorch/status/1375177895648235521
6
+ https://twitter.com/PatrickKidger/status/1379758724894576646
7
+ https://twitter.com/Diffeq_ml/status/1419476690737065985
8
+ https://twitter.com/jeremyphoward/status/1422337095587098624
9
+ https://twitter.com/PatrickKidger/status/1422530323678732290
10
+ https://twitter.com/jeremyphoward/status/1423459917776658437
11
+ https://twitter.com/MilesCranmer/status/1429656073150009352
12
+ https://twitter.com/cgarciae88/status/1429943118959349763
13
+ https://twitter.com/siddkaramcheti/status/1430195543301492744
14
+ https://twitter.com/fchollet/status/1437878935702761472
15
+ https://twitter.com/TensorFlow/status/1461380473159143425
16
+ https://twitter.com/jeanmarcalkazzi/status/1465418318068781062
17
+
urls/updates ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ https://twitter.com/ak92501/status/1472389522914942977
2
+ https://twitter.com/colinraffel/status/1468618801134592012
3
+ https://twitter.com/omarsar0/status/1468620259972288516
4
+ https://twitter.com/dvgodoy/status/1396797360416698369
5
+ https://twitter.com/omarsar0/status/1447571543094083594
6
+ https://twitter.com/julsimon/status/1450873643387559938
7
+ https://twitter.com/julsimon/status/1455815186900791297
8
+ https://twitter.com/ak92501/status/1455907933263384579
9
+ https://twitter.com/karpathy/status/1466094087296012289
10
+
utils.py ADDED
@@ -0,0 +1,29 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import requests
2
+ import streamlit as st
3
+ import streamlit.components.v1 as components
4
+
5
+
6
+ @st.cache
7
+ def get_tweet(url):
8
+ api = f"https://publish.twitter.com/oembed?url={url}&maxwidth=400&theme=dark"
9
+ content = requests.get(api).json()
10
+ return content
11
+
12
+ def display_page(urls_path):
13
+ columns = st.columns([1, 1, 1])
14
+
15
+ with open(urls_path, "r") as f:
16
+ urls = f.readlines()
17
+
18
+ for i in range(0, len(urls)-3, 3):
19
+ with columns[0]:
20
+ st.write("-"*10)
21
+ components.html(get_tweet(urls[i])['html'], height=283, scrolling=True)
22
+
23
+ with columns[1]:
24
+ st.write("-"*10)
25
+ components.html(get_tweet(urls[i+1])['html'], height=283, scrolling=True)
26
+
27
+ with columns[2]:
28
+ st.write("-"*10)
29
+ components.html(get_tweet(urls[i+2])['html'], height=283, scrolling=True)