Coder Social home page Coder Social logo

async-standups's Introduction

Async Standup

This tool helps you write, publish, and keep track of your async standup reports.

The standup data will be saved and manipulated in YAML files, and published to Slack in Markdown format.

Setup

You will need Python 3.8+ and Poetry installed. Then clone this repo and run:

poetry install
poetry run standup bootstrap

Usage

  • standup --help: Display general usage help.
  • standup bootstrap: Create the basic project configuration.
  • standup copy: Copy yesterday/today's standup file for the next day.
  • standup publish: Publish your update on the right Slack channel.

Slack App Configuration

In order to publish your updates to Slack, you will need to:

  1. Create a Slack app.
  2. Add the chat:write scope to the app's User Token Scopes.
  3. Install the app to your workspace.
  4. Authorize your user with the app.
  5. Add the app to the channel where you want to post.

Once these steps are complete, go through standup bootstrap and you'll be prompted for the token and channel ID.

async-standups's People

Contributors

dependabot[bot] avatar samueldg avatar

Watchers

 avatar  avatar  avatar

async-standups's Issues

Add bootstrap command

Currently the YAML format and data hierarchy are not documented, so you can't really get setup.

It would be nice to have a command that does it for you: sets data/YEAR/MONTH dir, asks for slack channel, etc.

Improve Python package setup

  • Use setup.cfg?
  • Get version from __init__.py::__version__
  • Find less ugly way to add console_scripts
  • Add Trove calssifiers
  • Review setup() parameters to see if anything is missing (license and what not)

Missing template file from package resource

When running:

standup publish --dry-run

I have the following output:

Traceback (most recent call last):
  File "/Users/samuel/.local/share/virtualenvs/standups-fUqYa_L5/bin/standup", line 11, in <module>
    load_entry_point('standup', 'console_scripts', 'standup')()
  File "/Users/samuel/.local/share/virtualenvs/standups-fUqYa_L5/lib/python3.7/site-packages/click/core.py", line 764, in __call__
    return self.main(*args, **kwargs)
  File "/Users/samuel/.local/share/virtualenvs/standups-fUqYa_L5/lib/python3.7/site-packages/click/core.py", line 717, in main
    rv = self.invoke(ctx)
  File "/Users/samuel/.local/share/virtualenvs/standups-fUqYa_L5/lib/python3.7/site-packages/click/core.py", line 1137, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/Users/samuel/.local/share/virtualenvs/standups-fUqYa_L5/lib/python3.7/site-packages/click/core.py", line 956, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/Users/samuel/.local/share/virtualenvs/standups-fUqYa_L5/lib/python3.7/site-packages/click/core.py", line 555, in invoke
    return callback(*args, **kwargs)
  File "/Users/samuel/workspace/delphia/standups/standup/main.py", line 146, in publish
    rendered_text = get_formatted_standup(standup_data)
  File "/Users/samuel/workspace/delphia/standups/standup/main.py", line 50, in get_formatted_standup
    template = template_env.get_template(TEMPLATE_FILE)
  File "/Users/samuel/.local/share/virtualenvs/standups-fUqYa_L5/lib/python3.7/site-packages/jinja2/environment.py", line 830, in get_template
    return self._load_template(name, self.make_globals(globals))
  File "/Users/samuel/.local/share/virtualenvs/standups-fUqYa_L5/lib/python3.7/site-packages/jinja2/environment.py", line 804, in _load_template
    template = self.loader.load(self, name, globals)
  File "/Users/samuel/.local/share/virtualenvs/standups-fUqYa_L5/lib/python3.7/site-packages/jinja2/loaders.py", line 113, in load
    source, filename, uptodate = self.get_source(environment, name)
  File "/Users/samuel/.local/share/virtualenvs/standups-fUqYa_L5/lib/python3.7/site-packages/jinja2/loaders.py", line 187, in get_source
    raise TemplateNotFound(template)
jinja2.exceptions.TemplateNotFound: template.md.j2

because the package is not able to find the file.

The problem is either:

  1. The file is not correctly included in the package
  2. The code isn't looking for the template in the right location.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.