Package: workcell
WorkcellInstantly turn your Python function into production-ready microservice.English|简体中文Getting Started•License•ChangelogInstantly turn your Python function into delightful app and production-ready microservice, with lightweight UI to interact with.⚡ Highlights🔌  Instantly turn functions into microservices within seconds.📈  Automatically generate user-friendly UI for interaction.🤗  One-click deployment to Hugging Face Spaces.☁️  Develop locally, deploy to the cloud.🧩  Empower development and analysis with scalable components.🦄  Get inspired by the open-source community.⏰ StatusStatusStabilityGoal✅AlphaWe are testing Workcell with a closed set of customers✅Public AlphaAnyone can sign up over at weanalyze.co. But go easy on us, there are a few kinks.🚧Public BetaStable enough for most non-enterprise use-cases❌PublicProduction-readyWe are currently in:Public Alpha.Wokrlcell is heavily under development, and we expect to iterate on the APIs/UIs before reaching beta (version 0.1.0).🔖 InstallationPythonversion 3.8+Install Workcell usingpip:pipinstallworkcellOr usingAnaconda:condainstallworkcell🚀 Quick StartAfter workcell installed, just run:workcellhelloYou can find an automatically generatedSwagger UIfromhttp://127.0.0.1:7860/docs, then just gotohttp://127.0.0.1:7860/uito try your first workcell app:)📚 GuideWhat happened?Workcell has created a FastAPI service and a lightweight user interface for your functions without any additional API or UI-related code. This service is ready to be deployed to the cloud as a public service, requiring minimal setup on your end.Speed up your developmentWith Workcell, you can focus on developing your core functionality while leaving the infrastructure and deployment details to the platform. All you need is to make sure your function isworkcell compatible.Workcell compatibleA workcell-compatible function must have aninputandoutputparameter and return value based onPydantic models. Theinputandoutputare specified usingtype hints.Here is an example of a simpleworkcell compatiblefunction:frompydanticimportBaseModelclassInput(BaseModel):message:strclassOutput(BaseModel):message:strdefhello_workcell(input:Input)->Output:"""Returns the `message` of the input data."""returnOutput(message=input.message)🤗 DeploymentWhy deployment?You'll be able to access your workcell from anywhere and share it with your team and collaborators. Now you can deploy workcell to Hugging FaceSpacesin 1-click!Prepare your Hugging Face accountFirst you need a Hugging Face account, and prepare aUser Access Tokens, then set environment variables like below:exportHUGGINGFACE_USERNAME={huggingface_username}exportHUGGINGFACE_TOKEN={huggingface_token}Replace{huggingface_username}and{huggingface_token}with yours.You can also store these environment variables in a.envfile in your project folder for convenience.Deploy in 1-click!Once you prepared aworkcell compatiblefunction (or project), just run:workcellupapp:hello_workcellVoila! The deployment process will start, and within a few minutes, workcell will be available on your Hugging Face Spaces.Extra explainWhen you runworkcell up, there're actually 2 seperate stepworkcell packandworkcell deploybeen applied.workcell packwill package your function code with a template into.workcellunder your project folder, andworkcell deploywill upload this folder to cloud.📖 DocumentsYou can find more details in ourdocuments.🎮 ExamplesGet inspired and learn more about workcell by exploring our examples:https://github.com/weanalyze/workcell-examplesWe also have a curated list for you to check out, feel free to contribute!https://github.com/weanalyze/best-of-workcell🛣️ RoadmapMissing a feature? Have a look at ourpublic roadmapto see what the team is working on in the short and medium term. Still missing it? Please let us know by opening an issue!😆 ContactsIf you have any questions about the workcell or weanalyze , feel free to email us at:support@weanalyze.coIf you want to say hi, or are interested in partnering with us, feel free to reach us at:contact@weanalyze.coFeel free to share memes or any questions at Discord:https://discord.weanalyze.coLicenseApache-2.0 License.