If you don't explictly need an static method, or are not in a project where this strict separation is needed, just do not use them.
In the case above, your "non static" method is wrong: regular methods will always receive an instance of the class when used as instance methods - your call would break if made from an instance.
So, if you need a method that just calculate something based on its input arguments, does not need any reference to the class, and no reference to the instance, it should be an static method.
Now, even if they do not need a reference to the instance and class, but will usually be called from an instance, they can just be regular methods (with an unused self
first parameter).
And also, you should take care to see if it is worth writting the callable as an static method, if it makes sense for grouping purposes, or if it should be just a regular function. Since static methods cannot retrieve their related classes or instances, they can always be written as plain, module-level, functions. It is actually rare that it'd make more sense to have then as static methods (the only reason is for grouping purposes - a calculation that uses values typical present in an instance, but that should be passed as parameters rather than instance attributes, for example).
TL;DR: Unless you know exactly what you are doing, and it makes a little bit more sense to have an static method, you should not have an static method in Python code.