#python#ai_automation#api#audio_overview#claude#cli_tool#flashcards#google_notebooklm#notebooklm#notebooklm_api#notebookln#podcast_generator#python#python_api#quiz_generator#sdk#skills#study_tools
notebooklm-py is a free Python tool and CLI for full access to Google NotebookLM's features, like creating notebooks, adding sources (URLs, PDFs, YouTube), chatting, deep research, and generating podcasts, videos, quizzes, slides, mind maps in formats like MP3, MP4, JSON. It offers extras the web lacks, such as batch downloads, editable PPTX, and mind map data. You benefit by automating research, content creation, and exports programmatically for faster prototypes, pipelines, or AI agents—saving time on manual UI work.
https://github.com/teng-lin/notebooklm-py
🚀 Вышел стабильный JavaScript движок от Google для Android
Новая стабильная библиотека Jetpack JavaScript Engine позволит разработчикам выполнять JS код в изолированной и ограниченной среде.
class MainActivity : ComponentActivity() {
// Теперь nullable, без lateinit
private var jsSandbox: JavaScriptSandbox? = null
private var jsIsolate: JavaScriptIsolate? = null
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
if (!JavaScriptSandbox.isSupported()) {
Log.e("JS", "JavaScriptSandbox не поддерживается")
return
}
lifecycleScope.launch {
// Создаём и сохраняем в nullable-поле
jsSandbox = JavaScriptSandbox
.createConnectedInstanceAsync(applicationContext)
.await()
jsIsolate = jsSandbox?.createIsolate()
// При выполнении гарантируем, что jsIsolate != null
val result: String = jsIsolate
?.evaluateJavaScriptAsync(JS_SCRIPT_SCRING)
?.await()
?: "Ошибка: isolate не инициализирован"
Log.d("JS", "Результат выполнения: $result")
}
}
override fun onDestroy() {
super.onDestroy()
// Закрываем только если не null
jsIsolate?.close()
jsSandbox?.close()
}
}
#jetpack#js