Science Score: 26.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (9.4%) to scientific vocabulary
Repository
nothing to do
Basic Info
- Host: GitHub
- Owner: u9i7t
- License: mit
- Language: Jupyter Notebook
- Default Branch: main
- Size: 373 MB
Statistics
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
- Releases: 0
Metadata Files
README-EN.md
[!IMPORTANT] This branch is
TransmittableThreadLocal(TTL) v3, which is in development and has not been released yet.
See issue 432 for thev3notes, work item list and its progress.The stable version
v2.xcurrently in use is on branch2.x.
- Functions
- Requirements
- User Guide
- Java API Docs
- Maven Dependency
- How to compile and build
- More Documentation
- Related Resources
- Who Used
- Contributors
Functions
TransmittableThreadLocal(TTL): The missing Java std lib(simple & 0-dependency) for framework/middleware,
provide an enhanced InheritableThreadLocal that transmits values between threads even using thread pooling components. Support Java 6~21.
Class InheritableThreadLocal in JDK
can transmit value to child thread from parent thread.
But when use thread pool, thread is cached up and used repeatedly. Transmitting value from parent thread to child thread has no meaning. Application need transmit value from the time task is created to the time task is executed.
If you have problem or question, please submit Issue or play fork and pull request dance.
[!NOTE] From
TTL v2.13+upgrade toJava 8.
If you needJava 6support, use version2.12.x
Requirements
The Requirements listed below is also why I sort out TransmittableThreadLocal in my work.
- Application container or high layer framework transmit information to low layer sdk.
- Transmit context to logging without application code aware.
User Guide
1. Simple usage
```java
TransmittableThreadLocal
// =====================================================
// set in parent thread context.set("value-set-in-parent");
// =====================================================
// read in child thread, value is "value-set-in-parent" String value = context.get(); ```
# See the executable demo SimpleDemo.kt with full source code.
This is the function of class InheritableThreadLocal, should use class InheritableThreadLocal instead.
But when use thread pool, thread is cached up and used repeatedly. Transmitting value from parent thread to child thread has no meaning. Application need transmit value from the time task is created to the point task is executed.
The solution is below usage.
2. Transmit value even using thread pool
2.1 Decorate Runnable and Callable
Decorate input Runnable and Callable by TtlRunnable
and TtlCallable.
Sample code:
```java
TransmittableThreadLocal
// =====================================================
// set in parent thread context.set("value-set-in-parent");
Runnable task = new RunnableTask(); // extra work, create decorated ttlRunnable object Runnable ttlRunnable = TtlRunnable.get(task); executorService.submit(ttlRunnable);
// =====================================================
// read in task, value is "value-set-in-parent" String value = context.get(); ```
NOTE
Even when the same Runnable task is submitted to the thread pool multiple times, the decoration operations(ie TtlRunnable.get(task)) is required for each submission to capture the value of the TransmittableThreadLocal context at submission time; That is, if the same task is submitted next time without reperforming decoration and still using the last TtlRunnable, the submitted task will run in the context of the last captured context. The sample code is as follows:
```java // first submission Runnable task = new RunnableTask(); executorService.submit(TtlRunnable.get(task));
// ... some biz logic, // and modified TransmittableThreadLocal context ... context.set("value-modified-in-parent");
// next submission // reperform decoration to transmit the modified TransmittableThreadLocal context executorService.submit(TtlRunnable.get(task)); ```
Above code show how to dealing with Runnable, Callable is similar:
```java
TransmittableThreadLocal
// =====================================================
// set in parent thread context.set("value-set-in-parent");
Callable call = new CallableTask(); // extra work, create decorated ttlCallable object Callable ttlCallable = TtlCallable.get(call); executorService.submit(ttlCallable);
// =====================================================
// read in call, value is "value-set-in-parent" String value = context.get(); ```
# See the executable demo TtlWrapperDemo.kt with full source code.
2.2 Decorate thread pool
Eliminating the work of Runnable and Callable Decoration every time it is submitted to thread pool. This work can be completed in the thread pool.
Use util class
TtlExecutors
to decorate thread pool.
Util class TtlExecutors has below methods:
getTtlExecutor: decorate interfaceExecutorgetTtlExecutorService: decorate interfaceExecutorServicegetTtlScheduledExecutorService: decorate interfaceScheduledExecutorService
Sample code:
```java ExecutorService executorService = ... // extra work, create decorated executorService object executorService = TtlExecutors.getTtlExecutorService(executorService);
TransmittableThreadLocal
// =====================================================
// set in parent thread context.set("value-set-in-parent");
Runnable task = new RunnableTask(); Callable call = new CallableTask(); executorService.submit(task); executorService.submit(call);
// =====================================================
// read in Task or Callable, value is "value-set-in-parent" String value = context.get(); ```
# See the executable demo TtlExecutorWrapperDemo.kt with full source code.
2.3 Use Java Agent to decorate thread pool implementation class
In this usage, transmittance is transparent(no decoration operation).
Sample code:
```java
// ## 1. upper layer logic of framework ##
TransmittableThreadLocal
// ## 2. biz logic ## ExecutorService executorService = Executors.newFixedThreadPool(3);
Runnable task = new RunnableTask(); Callable call = new CallableTask(); executorService.submit(task); executorService.submit(call);
// ## 3. underlayer logic of framework ## // read in Task or Callable, value is "value-set-in-parent" String value = context.get(); ```
# See the executable demo AgentDemo.kt with full source code, run demo by the script scripts/run-agent-demo.sh.
At present, TTL agent has decorated below JDK execution components(aka. thread pool) implementation:
java.util.concurrent.ThreadPoolExecutorandjava.util.concurrent.ScheduledThreadPoolExecutor- decoration implementation code is in
JdkExecutorTtlTransformlet.java.
- decoration implementation code is in
java.util.concurrent.ForkJoinTaskcorresponding execution component isjava.util.concurrent.ForkJoinPool- decoration implementation code is in
ForkJoinTtlTransformlet.java, supports since version2.5.1. - NOTE:
CompletableFutureand (parallel)Streamintroduced in Java 8 is executed throughForkJoinPoolunderneath, so after supportingForkJoinPool,TTLalso supportsCompletableFutureandStreamtransparently.
- decoration implementation code is in
java.util.TimerTaskcorresponding execution component isjava.util.Timer- decoration implementation code is in
TimerTaskTtlTransformlet.java, supports since version2.7.0. - NOTE: Since version
2.11.2decoration forTimerTaskdefault is enable (because correctness is first concern, not the best practice like "It is not recommended to useTimerTask" :); before version2.11.1default is disable. - enabled/disable by agent argument
ttl.agent.enable.timer.task:-javaagent:path/to/transmittable-thread-local-2.x.y.jar=ttl.agent.enable.timer.task:true-javaagent:path/to/transmittable-thread-local-2.x.y.jar=ttl.agent.enable.timer.task:false
- more info about
TTLagent arguments, see the javadoc ofTtlAgent.java.
- decoration implementation code is in
Add start options on Java command:
-javaagent:path/to/transmittable-thread-local-2.x.y.jar
Java command example:
```bash java -javaagent:transmittable-thread-local-2.x.y.jar \ -cp classes \ com.alibaba.demo.ttl.agent.AgentDemo
if changed the TTL jar file name or the TTL version is before 2.6.0,
should set argument -Xbootclasspath explicitly.
java -javaagent:path/to/ttl-foo-name-changed.jar \ -Xbootclasspath/a:path/to/ttl-foo-name-changed.jar \ -cp classes \ com.alibaba.demo.ttl.agent.AgentDemo
java -javaagent:path/to/transmittable-thread-local-2.5.1.jar \ -Xbootclasspath/a:path/to/transmittable-thread-local-2.5.1.jar \ -cp classes \ com.alibaba.demo.ttl.agent.AgentDemo ```
Run the script scripts/run-agent-demo.sh
to start demo of "Use Java Agent to decorate thread pool implementation class".
NOTE
- Because TTL agent modified the
JDKstd lib classes, make code refer from std lib class to the TTL classes, so the TTL Agent jar must be added toboot classpath. - Since
v2.6.0, TTL agent jar will auto add self toboot classpath. But you should NOT modify the downloaded TTL jar file name in the maven repo(eg:transmittable-thread-local-2.x.y.jar).- if you modified the downloaded TTL jar file name(eg:
ttl-foo-name-changed.jar), you must add TTL agent jar toboot classpathmanually by java option-Xbootclasspath/a:path/to/ttl-foo-name-changed.jar.
- if you modified the downloaded TTL jar file name(eg:
The implementation of auto adding self agent jar to boot classpath use the Boot-Class-Path property of manifest file(META-INF/MANIFEST.MF) in the TTL Java Agent Jar:
[!NOTE]
Boot-Class-PathA list of paths to be searched by the bootstrap class loader. Paths represent directories or libraries (commonly referred to as JAR or zip libraries on many platforms). These paths are searched by the bootstrap class loader after the platform specific mechanisms of locating a class have failed. Paths are searched in the order listed.
More info:
Java Agent Specification-JavaDoc- JAR File Specification - JAR Manifest
- Working with Manifest Files - The Java Tutorials
Java API Docs
The current version Java API documentation: https://alibaba.github.io/transmittable-thread-local/apidocs/
Maven Dependency
xml
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>transmittable-thread-local</artifactId>
<version>2.14.4</version>
</dependency>
Check available version at maven.org.
How to compile and build
Compilation/build environment require JDK 8+; Compilation can be performed in the normal way of Maven.
# The project already contains Maven that satisfied the required version, directly run mvnw in the project root directory; there is no need to manually install Maven by yourself.
```bash
Run test case
./mvnw test
Compile and package
./mvnw package
Run test case, compile and package, install TTL library to local Maven
./mvnw install
If you use maven installed by yourself, the version requirement: maven 3.3.9+
mvn install ```
More Documentation
Related Resources
JDK Core Classes
Who Used
Some open-source projects used TTL:
Middleware
sofastack/sofa-rpc
SOFARPC is a high-performance, high-extensibility, production-level Java RPC frameworktrpc-group/trpc-java
A pluggable, high-performance RPC framework written in javatencentmusic/supersonic
SuperSonic is an out-of-the-box yet highly extensible framework for building ChatBIdromara/hmily
Distributed transaction solutionsdromara/gobrs-asyncdromara/dynamic-tp
Lightweight dynamic threadpool, with monitoring and alarming functions, base on popular config centers (already support NacosApolloZookeeper, can be customized through SPI)opengoofy/hippo4j
JDKTomcatJettyUndertow Apache RocketMQDubboRabbitMQHystrixsiaorg/sia-gateway
microservice route gateway(zuul-plus)huaweicloud/Sermant
Sermant, a proxyless service mesh solution based on JavaagentZTO-Express/zms
ZTO Message Servicelxchinesszz/tomato
SpringBootytyht226/taskflow
(DAG)/foldright/cffu
Java CompletableFuture Fu, aka. CF-Fu, pronounced "Shifu"; include best practice/traps guide and a tiny sidekick library to improve user experience and reduce misuse.tuya/connector
The connector framework maps cloud APIs to local APIs based on simple configurations and flexible extension mechanisms
Middleware/Data Processing
apache/shardingsphere
Ecosystem to transform any database into a distributed database system, and enhance it with sharding, elastic scaling, encryption features & moreapache/kylin
A unified and powerful OLAP platform for Hadoop and Cloud.mybatis-flex/mybatis-flex
mybatis-flex is an elegant Mybatis Enhancement Frameworkbasicai/xtreme1
The Next GEN Platform for Multisensory Training Data. #3D annotation, lidar-camera annotation and image annotation tools are supportedoceanbase/odc
An open-source, enterprise-grade database tool for collaborative developmentsagframe/sagacity-sqltoy
JavaORMdromara/stream-query
Mappermybatis-plusluo-zhan/Transformer
TransformerSimonAlong/Neo
OrmActiveRecordOrmppdaicorp/das
(data access service)das consoledas clientdas serverdidi/ALITA
a layer-based data analysis tooldidi/daedalus
Middleware/Flow engine
dromara/liteflow
a lightweight and practical micro-process frameworkalibaba/bulbasaur
A pluggable, scalable process engine
Middleware/Log
dromara/TLog
Lightweight distributed log label tracking frameworkfayechenlong/plumelog
javaminbox-projects/minbox-logging
AdminAdmin Uiminbox-projects/api-boot
SpringBootStarters
ofpay/logback-mdc-ttl
logbacktransmittable-thread-localmdcoldratlee/log4j2-ttl-thread-context-map
Log4j2 TTL ThreadContextMap, Log4j2 extension integrated TransmittableThreadLocal to MDC
Middleware/Bytecode
ymm-tech/easy-byte-coder
Easy-byte-coder is a non-invasive bytecode injection framework based on JVM
Business service or platform application
OpenBankProject/OBP-API
An open source RESTful API platform for banks that supports Open Banking, XS2A and PSD2 through access to accounts, transactions, counterparties, payments, entitlements and metadata - plus a host of internal banking and management APIsgz-yami/mall4j
java uniappJoolun/JooLun-wx
JooLunHummerRisk/HummerRiskXiaoMi/mone
Mone->->->->-yangzongzhuan/RuoYi-Cloud
Spring BootSpring Cloud & Alibabasomowhere/albedo
Spring Boot Spring SecurityMybatis RBACqwdigital/LinkWechat
SCRM Javafushengqian/fuint
fuinthiparker/opsli-boottopiam/eiam
EIAMEmployee Identity and Access Management ProgramIAMNewspiral/newspiral-business
Tool product
ssssssss-team/spider-flownekolr/slimeJackson0714/PassJava-Platform
Spring Cloud Java SpringBootSpring Cloud SpringBootMyBatisRedis MySql MongoDB RabbitMQElasticsearchDockermartin-chips/DimpleBlog
SpringBoot2zjcscut/octopusxggz/mqr
QQMQRmiraiAndroidQQweb
Test solution or tool
alibaba/jvm-sandbox-repeater
A Java server-side recording and playback solution based on JVM-Sandbox, /vivo/MoonBox
MoonboxJVM-Sandboxjvm-sandbox-repeaterjvm-sandbox-repeaterMoonboxalibaba/testable-mock
MockshulieTech/Takin
measure online environmental performance test for full-links, Especially for microservicesshulieTech/LinkAgent
a Java-based open-source agent designed to collect data and control Functions for Java applications through JVM bytecode, without modifying applications codes
alibaba/virtual-environment
Route isolation with service sharing,Kubernetes
Spring Cloud/Spring Bootmicroservices framework solution or scaffoldYunaiV/ruoyi-vue-pro
Spring Boot + MyBatis Plus + Vue & Element + RBAC SaaS Activiti + FlowableYunaiV/yudao-cloud
RuoYi-Vue Cloud Spring Cloud Alibaba + MyBatis Plus + Vue & Element + RBACzlt2000/microservices-platform
SpringBoot2.xSpringCloudSpringCloudAlibabadromara/lamp-cloud
Jdk11 + SpringCloud + SpringBoot SaaS RBACXsszuihou/lamp-util
SpringBoot SpringCloud
matevip/matecloud
Spring Cloud Alibabagavenwangcn/vole
SpringCloud Micro service business frameworkliuweijw/fw-cloud-framework
springcloudoauth2SSOShardingdbcredisVueliuht777/Taroco
NacosSpring Cloud Alibabastarter OAuth2/mingyang66/spring-parent
RedisNettyAPIbudwk/budwk
BudWkNutzWknutz nutzboot WebCMS
yinjihuan/spring-cloud
Spring Cloud-Spring Cloudlouyanfeng25/ddd-demo
DDDDemoDDDnageoffer/12306
12306
more open-source projects used TTL, see
Contributors
- Jerry Lee <oldratlee at gmail dot com> @oldratlee
- Yang Fang <snoop.fy at gmail dot com> @driventokill
- Zava Xu <zava.kid at gmail dot com> @zavakid
- wuwen <wuwen.55 at aliyun dot com> @wuwen5
- rybalkinsd <yan.brikl at gmail dot com> @rybalkinsd
- David Dai <351450944 at qq dot com> @LNAmp
- Your name here :-)
Owner
- Login: u9i7t
- Kind: user
- Repositories: 1
- Profile: https://github.com/u9i7t
Dependencies
- actions/checkout v3 composite
- actions/setup-python v4 composite
- actions/checkout v1 composite
- actions/checkout v4 composite
- actions/upload-artifact v4 composite
- svenstaro/upload-release-action v2 composite
- gege-circle/github-action master composite
- actions/checkout v2 composite
- microsoft/setup-msbuild v1.0.2 composite
- actions/checkout v3 composite
- docker/build-push-action v4 composite
- docker/login-action 28218f9b04b4f3f62068d7b6ce6ca5b26e35336c composite
- docker/metadata-action v5 composite
- docker/setup-buildx-action v2 composite
- mikefarah/yq v4.12.2 composite
- peter-evans/create-pull-request v3 composite
- 970 dependencies
- d3 ~3.5.6
- d3-geo-projection ~0.2.15
- dat-gui ~0.5.1
- font-awesome ~4.5.0
- jquery ~2.1.4
- lodash ~3.10.1
- reveal.js ~3.2.0
- stats.js *
- topojson ~1.6.19
- 520 dependencies
- StreamChat ~> 2.2
- VoxeetUXKit ~> 1.3
- golang latest build
- jupyter/minimal-notebook latest build
- scratch latest build
- node 6 build
- docker.elastic.co/apm/apm-server 7.8.0
- docker.elastic.co/app-search/app-search 7.6.2
- docker.elastic.co/beats/auditbeat 7.8.0
- docker.elastic.co/beats/filebeat 7.8.0
- docker.elastic.co/beats/heartbeat 7.8.0
- docker.elastic.co/beats/metricbeat 7.8.0
- docker.elastic.co/beats/packetbeat 7.8.0
- docker.elastic.co/elasticsearch/elasticsearch 7.8.0
- docker.elastic.co/kibana/kibana 7.8.0
- nginx latest
- mall/mall-admin 1.0-SNAPSHOT
- mall/mall-portal 1.0-SNAPSHOT
- mall/mall-search 1.0-SNAPSHOT
- github.com/containerd/containerd v1.5.3
- github.com/docker/cli v20.10.7+incompatible
- github.com/docker/docker v20.10.7+incompatible
- github.com/docker/docker-credential-helpers v0.6.4
- github.com/fvbommel/sortorder v1.0.2
- github.com/google/uuid v1.2.0
- github.com/gorilla/mux v1.8.0
- github.com/moby/sys/mount v0.2.0
- github.com/moby/term v0.0.0-20210619224110-3f7ff695adc6
- github.com/morikuni/aec v1.0.0
- github.com/pkg/errors v0.9.1
- github.com/sirupsen/logrus v1.8.1
- github.com/theupdateframework/notary v0.7.0
- golang.org/x/time v0.0.0-20210611083556-38a9dc6acbc6
- google.golang.org/grpc v1.39.0
- cachex ~> 2.1
- earmark ~> 1.2.0
- ex_doc ~> 0.15
- goth ~> 0.3.1
- httpoison ~> 0.11
- org.apache.flink:flink-java 1.9.0 provided
- org.apache.flink:flink-streaming-java_2.11 1.9.0 provided
- org.projectlombok:lombok 1.18.10 provided
- log4j:log4j 1.2.17
- org.slf4j:slf4j-log4j12 1.7.7
- cn.hutool:hutool-all 5.8.9
- javax.xml.bind:jaxb-api 2.3.1
- org.projectlombok:lombok
- org.springframework.boot:spring-boot-configuration-processor
- org.springframework.boot:spring-boot-starter-actuator
- org.springframework.boot:spring-boot-starter-aop
- org.springframework.boot:spring-boot-starter-test test
- 166 dependencies
- nodemon ^3.0.1 development
- bcrypt ^5.1.1
- body-parser ^1.20.2
- cookie-parser ^1.4.6
- cors ^2.8.5
- dotenv ^16.3.1
- express ^4.18.2
- jsonwebtoken ^9.0.2
- mongoose ^7.5.0
- peerjs ^1.5.0
- socket.io ^4.7.2
- validator ^13.11.0
- 1773 dependencies
- @testing-library/jest-dom ^5.11.4
- @testing-library/react ^11.1.0
- @testing-library/user-event ^12.1.10
- react ^17.0.2
- react-dom ^17.0.2
- react-scripts 4.0.3
- socket.io-client ^4.1.2
- web-vitals ^1.0.1
- 1483 dependencies
- 389 dependencies
- husky ^5.0.9 development
- jest ^26.6.3 development
- standardx ^5.0.0 development
- Google.Apis.Auth 1.57.0
- Microsoft.AspNet.WebApi.Cors 5.2.8
- Microsoft.AspNetCore.Authentication.JwtBearer 6.0.5
- Microsoft.EntityFrameworkCore 6.0.5
- Microsoft.IdentityModel.Tokens 6.17.0
- Newtonsoft.Json 13.0.1
- Serilog.AspNetCore 5.0.0
- Swashbuckle.AspNetCore 6.2.3
- System.IdentityModel.Tokens.Jwt 6.17.0
- vimeo/psalm ^4.4 development
- craftcms/cms ^3.2.0
- guzzlehttp/guzzle ^6.5.5|^7.2.0
- ircmaxell/password-compat v1.0.4
- symfony/http-foundation v2.8.19
- symfony/polyfill-mbstring v1.3.0
- symfony/polyfill-php54 v1.3.0
- symfony/polyfill-php55 v1.3.0
- build_runner ^2.0.6 development
- flutter_test {"sdk" => "flutter"} development
- mobx_codegen ^2.0.2 development
- animations ^2.0.1
- cached_network_image ^3.1.0
- card_swiper ^1.0.2
- carousel_slider ^4.0.0
- charts_flutter ^0.11.0
- clippy_flutter ^2.0.0-nullsafety.1
- cloud_firestore ^2.2.0
- collection ^1.15.0
- cupertino_icons ^1.0.3
- dots_indicator ^2.0.0
- expandable_bottom_sheet ^1.0.0+2
- file_picker ^3.0.1
- firebase_core ^1.4.0
- firebase_crashlytics ^2.1.1
- firebase_messaging ^10.0.4
- fl_chart ^0.36.1
- flutter {"sdk" => "flutter"}
- flutter_colorpicker ^0.4.0
- flutter_local_notifications ^5.0.0+4
- flutter_mobx ^2.0.1
- flutter_rating_bar ^4.0.0
- flutter_reaction_button ^1.0.8
- flutter_slidable ^0.6.0
- flutter_staggered_animations ^1.0.0
- flutter_staggered_grid_view ^0.4.0
- flutter_svg ^0.22.0
- flutter_vector_icons ^1.0.0
- geocoding ^2.0.0
- geolocator ^7.3.1
- google_fonts ^2.1.0
- google_maps_flutter ^2.0.6
- google_mobile_ads ^0.12.2
- google_sign_in ^5.0.4
- html ^0.15.0
- http ^0.13.3
- image_picker ^0.8.1+3
- intl ^0.17.0
- liquid_swipe ^2.1.0
- local_auth ^1.1.6
- lottie ^1.1.0
- mobx ^2.0.3
- multi_image_picker ^4.8.00
- nb_utils ^4.4.4
- onesignal_flutter 3.2.0
- otp_text_field ^1.1.1
- package_info ^2.0.2
- percent_indicator ^3.0.1
- photo_view ^0.12.0
- provider ^5.0.0
- razorpay_flutter ^1.2.7
- share ^2.0.4
- showcaseview ^1.0.0
- signature ^4.1.1
- simple_animations ^3.1.1
- sleek_circular_slider ^2.0.0
- sliding_up_panel ^2.0.0+1
- syncfusion_flutter_charts ^19.1.67
- url_launcher ^6.0.3
- video_player ^2.1.4
- webview_flutter ^2.0.8
- async 2.5.0-nullsafety.1
- boolean_selector 2.1.0-nullsafety.1
- characters 1.1.0-nullsafety.3
- charcode 1.2.0-nullsafety.1
- clock 1.1.0-nullsafety.1
- cloud_firestore 0.14.3
- cloud_firestore_platform_interface 2.2.0
- cloud_firestore_web 0.2.1
- collection 1.15.0-nullsafety.3
- cupertino_icons 1.0.0
- fake_async 1.2.0-nullsafety.1
- firebase 7.3.3
- firebase_auth 0.18.2
- firebase_auth_platform_interface 2.1.2
- firebase_auth_web 0.3.1+2
- firebase_core 0.5.2
- firebase_core_platform_interface 2.0.0
- firebase_core_web 0.2.1
- flutter 0.0.0
- flutter_login_facebook 0.4.0+1
- flutter_test 0.0.0
- flutter_web_plugins 0.0.0
- google_sign_in 4.5.6
- google_sign_in_platform_interface 1.1.2
- google_sign_in_web 0.9.2
- http 0.12.2
- http_parser 3.1.4
- intl 0.16.1
- js 0.6.2
- list_ext 0.1.15
- matcher 0.12.10-nullsafety.1
- meta 1.3.0-nullsafety.3
- nested 0.0.4
- path 1.8.0-nullsafety.1
- pedantic 1.9.2
- plugin_platform_interface 1.0.3
- provider 4.3.3
- quiver 2.1.5
- rxdart 0.24.1
- sky_engine 0.0.99
- source_span 1.8.0-nullsafety.2
- stack_trace 1.10.0-nullsafety.1
- stream_channel 2.1.0-nullsafety.1
- string_scanner 1.1.0-nullsafety.1
- term_glyph 1.2.0-nullsafety.1
- test_api 0.2.19-nullsafety.2
- typed_data 1.3.0-nullsafety.3
- vector_math 2.1.0-nullsafety.3
- flutter_test {"sdk" => "flutter"} development
- cloud_firestore 0.14.3
- cupertino_icons ^1.0.0
- firebase_auth 0.18.2
- firebase_core 0.5.2
- flutter {"sdk" => "flutter"}
- flutter_login_facebook ^0.4.0+1
- google_sign_in 4.5.6
- intl 0.16.1
- provider ^4.3.2+2
- rxdart 0.24.1
- Django *
- Pillow *
- django-cors-headers *
- folium ==0.2.1
- ipython *
- matplotlib *
- numpy *
- opencv-python *
- pandas *
- pdflatex *
- pylatex *
- scikit-image *
- tensorflow *
- mlflow *
- numpy *
- sklearn *
- certifi ==2022.6.15
- charset-normalizer ==2.0.12
- idna ==3.3
- lxml ==4.9.1
- requests ==2.26.0
- urllib3 ==1.26.6
- pytest ==6.2.5 development
- Pillow ==8.4.0
- boto3 ==1.20.26
- botocore ==1.23.54
- jmespath ==0.10.0
- numpy ==1.21.6
- pycryptodome ==3.4.3
- python-dateutil ==2.8.2
- s3transfer ==0.5.2
- setuptools ==47.1.0
- six ==1.16.0
- urllib3 ==1.26.12
- certifi ==2024.7.4
- chardet ==5.2.0
- charset-normalizer ==3.3.2
- idna ==3.7
- numpy ==2.0.1
- pandas *
- python-dateutil ==2.9.0.post0
- pytz ==2024.1
- requests ==2.32.3
- six ==1.16.0
- tzdata ==2024.1
- urllib3 ==2.2.2
- asciidoctor = 2.0.11
- asciidoctor-multipage = 0.0.12
- concurrent-ruby = 1.1.7
- tilt = 2.0.10
- actions/checkout v3 composite
- lycheeverse/lychee-action v1.5.1 composite
- peter-evans/create-issue-from-file v4 composite
- actions/checkout v4 composite
- docker/build-push-action v6 composite
- docker/login-action v3 composite
- docker/setup-buildx-action v3 composite
- actions/checkout v4 composite
- actions/download-artifact v4 composite
- actions/setup-go v5 composite
- actions/upload-artifact v4 composite
- softprops/action-gh-release v2 composite
- actions/cache v4 composite
- actions/checkout v4 composite
- actions/setup-node v4 composite
- dtolnay/rust-toolchain stable composite
- pnpm/action-setup v4 composite
- postgres alpine docker
- redis 7-alpine docker
- actions/checkout v4 composite
- actions/configure-pages v5 composite
- actions/deploy-pages v4 composite
- actions/jekyll-build-pages v1 composite
- actions/upload-pages-artifact v3 composite
- python latest build
- googlemaps *
- twitter *
- github.com/Flight-School/AnyCodable 0.6.7
- github.com/cezheng/Fuzi 3.1.3
- github.com/groue/GRDB.swift 6.29.2
- github.com/johnsundell/ink 0.5.1
- github.com/nate-parrott/chattoys
- github.com/nate-parrott/openai-streaming-completions-swift 1.0.1
- github.com/scinfu/SwiftSoup 2.7.5
